Battery energy storage system and control system and applications thereof

ABSTRACT

Disclosed herein are embodiments of an electrical energy storage unit, a control system, and applications thereof. In an embodiment, the electrical energy storage unit (which may also be referred to as a battery energy storage system (“BESS”) includes a battery system controller and a plurality of battery packs. Each battery pack of the plurality of battery packs has a plurality of battery cells, a battery pack controller that monitors the plurality of battery cells, a battery pack cell balancer that adjusts an amount of energy stored in each battery cell of the plurality of battery cells, and a battery pack charger. The battery pack controller operates the battery pack cell balancer and the battery pack charger to control a state-of-charge of each battery cell of the plurality of battery cells. In an embodiment, the battery cells are lithium ion battery cells.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/554,881, filed Sep. 6, 2017, and is a continuation-in-part of U.S.application Ser. No. 14/962,491, filed Dec. 8, 2015 (issuing as U.S.Pat. No. 9,847,654), which is a continuation-in-part of U.S. applicationSer. No. 13/978,689, filed Aug. 27, 2013 (now U.S. Pat. No. 9,331,497),which claims the benefit of PCT/CN2011/071548, filed Mar. 5, 2011, eachof which are hereby incorporated herein by reference in theirentireties.

BACKGROUND Field

The present disclosure generally relates to electrical energy storage.More particularly, it relates to a modular, stackable battery energystorage unit, and applications thereof.

Background

Electrical energy is vital to modern national economies. Increasingelectrical energy demand and a trend towards increasing the use ofrenewable energy assets to generate electricity, however, are creatingpressures on aging electrical infrastructures that have made them morevulnerable to failure, particularly during peak demand periods. In someregions, the increase in demand is such that periods of peak demand aredangerously close to exceeding the maximum supply levels that theelectrical power industry can generate and transmit. New energy storagesystems, methods, and apparatuses that allow electricity to be generatedand used in a more cost effective and reliable manner are describedherein.

BRIEF SUMMARY

The present disclosure provides a modular, stackable electrical energystorage unit and control system, and applications thereof. An electricalenergy storage unit may also be referred to as a battery energy storagesystem (“BESS”). In an embodiment, the electrical energy storage unitmay include a battery system controller and battery packs having abattery pack operating system. Each battery pack may have battery cells,a battery pack controller that monitors the cells, and a battery packoperating system that may include a suite of modules including amongother modules, a module that tracks battery lifetime usage, a modulethat ensures the battery cells are used in accordance with warrantyrequirements, and a balancing module. The balancing module may control abattery pack cell balancer that adjusts the amount of energy stored inthe cells. In an embodiment, the cells may be lithium ion battery cells.

In an embodiment, the battery packs may be modular, stackable batteryunits. Several of these battery units together with a battery stackcontroller or battery string controller may form a battery stack. One ormore of these battery stacks may form a battery energy storage unit orsystem.

In an embodiment, the battery pack cell balancer may include resistorsthat are used to discharge energy stored in the battery cells. Inanother embodiment, the battery pack cell balancer may includecapacitors, inductors, or both that are used to transfer energy betweenthe battery cells.

In an embodiment, an ampere-hour monitor may calculate an ampere-hourvalue that may be used by the battery pack controllers in determiningthe state-of-charge of each of the battery cells.

In an embodiment, a relay controller may operate relays that control thecharge and discharge of the battery cells as well as other functionssuch as, for example, turning-on and turning-off of cooling fans,controlling power supplies, et cetera.

In an embodiment, a battery pack operating system may include modulesthat produce battery data that can be collected in a data center andanalyzed to determine rate data used for the purpose of sellinginsurance.

In an embodiment, battery data may be collected from networked batterypacks using the Internet, and this data may be stored in a data centerand used to produce insurance rate data.

It is a feature of the disclosure that the energy storage unit andcontrol system are highly scalable, ranging from small kilowatt-hoursize electrical energy storage units to megawatt-hour size electricalenergy storage units. It is also a feature of the disclosure that it cancontrol and balance battery cells based on cell state-of-chargecalculations in addition to cell voltages.

Further embodiments, features, and advantages, as well as the structureand operation of various embodiments of the disclosure, are described indetail below with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings/figures, which are incorporated herein andform a part of the specification, illustrate the present disclosure and,together with the description, further serve to explain the principlesof the embodiments disclosed herein and to enable a person skilled inthe pertinent art to make and use the embodiments disclosed herein.

FIG. 1A is a diagram that illustrates a networked group of electricalenergy storage units that comprise one or more battery packs accordingto an embodiment.

FIG. 1B is a diagram that illustrates a battery pack having an operatingsystem that is used to collect battery data and to produce battery ratedata that is used to sell battery insurance according to an embodiment.

FIG. 1C is a diagram that illustrates a battery pack operating systemaccording to an embodiment.

FIG. 1D is a diagram that illustrates an electrical energy storage unitaccording to an embodiment.

FIG. 2A is a diagram that illustrates the electrical energy storage unitof FIG. 1D being used in conjunction with wind mills.

FIG. 2B is a diagram that illustrates the electrical energy storage unitof FIG. 1D being used in conjunction with solar panels.

FIG. 2C is a diagram that illustrates the electrical energy storage unitof FIG. 1D being used in conjunction with the power grid.

FIG. 3 is a diagram that illustrates battery packs according to anembodiment.

FIG. 4 is a diagram that further illustrates a battery pack according toan embodiment.

FIG. 5 is a diagram that illustrates a battery pack controller accordingto an embodiment.

FIG. 6A is a diagram that illustrates a battery pack cell balanceraccording to an embodiment.

FIG. 6B is a diagram that illustrates a battery pack cell balanceraccording to an embodiment.

FIG. 6C is a diagram that illustrates a battery pack cell balanceraccording to an embodiment.

FIG. 7 is a diagram that illustrates an electrical energy storage unitaccording to an embodiment.

FIGS. 8A, 8B, and 8C are diagrams that illustrate a battery systemcontroller according to an embodiment.

FIG. 9 is a diagram that illustrates an electrical energy storage unitaccording to an embodiment.

FIG. 10A is a diagram that illustrates an electrical energy storage unitaccording to an embodiment.

FIG. 10B is a diagram that illustrates an electrical energy storagesystem according to an embodiment.

FIG. 10C is a diagram that illustrates another electrical energy storagesystem according to an embodiment.

FIG. 11 is a diagram that illustrates an electrical energy storagesystem according to an embodiment.

FIG. 12 is a diagram that illustrates an electrical energy storagesystem according to an embodiment.

FIG. 13 is a diagram that illustrates an electrical energy storagesystem according to an embodiment.

FIG. 14 is a diagram that illustrates an electrical energy storagesystem according to an embodiment.

FIG. 15 is a diagram that illustrates an electrical energy storagesystem according to an embodiment.

FIG. 16 is a diagram that illustrates an electrical energy storagesystem according to an embodiment.

FIG. 17 is a diagram that illustrates an electrical energy storage unitaccording to an embodiment.

FIG. 18 is a diagram that illustrates an electrical energy storage unitaccording to an embodiment.

FIGS. 19A, 19B, 19C, 19D, and 19E are diagrams that illustrate anexemplary user interface for an electrical energy storage unit accordingto an embodiment.

FIG. 20 is a diagram that illustrates an electrical energy storage unitaccording to an embodiment.

FIG. 21 is a diagram that illustrates exemplary battery pack data usedin an embodiment of an electrical energy storage unit.

FIGS. 22A and 22B are diagrams that illustrate exemplary battery dataused in an embodiment of an electrical energy storage unit.

FIGS. 23A and 23B are diagrams that illustrates exemplary battery cycledata used in an embodiment of an electrical energy storage unit.

FIGS. 24A and 24B are diagrams that illustrates operation of anelectrical energy storage unit according to an embodiment.

FIG. 25 is a diagram that illustrates operation of an electrical energystorage unit according to an embodiment.

FIGS. 26A, 26B, 26C, and 26D are diagrams illustrating an examplebattery pack according to an embodiment.

FIG. 27A is a diagram illustrating an example communication networkformed by a battery pack controller and a plurality of battery modulecontrollers.

FIG. 27B is a flow diagram illustrating an example method for receivinginstructions at a battery module controller.

FIG. 28 is a diagram illustrating an example battery pack controlleraccording to an embodiment.

FIG. 29 is a diagram illustrating an example battery module controlleraccording to an embodiment.

FIG. 30 is a diagram illustrating an example string controller accordingto an embodiment.

FIGS. 31A and 31B are diagrams illustrating an example string controlleraccording to an embodiment.

FIG. 32 is a flow diagram illustrating an example method for balancing abattery pack.

FIG. 33 is a diagram illustrating a correlation between an electriccurrent measurement and a current factor used in the calculation of awarranty value, according to an embodiment.

FIG. 34 is a diagram illustrating a correlation between a temperaturemeasurement and a temperature factor used in the calculation of awarranty value, according to an embodiment.

FIG. 35 is a diagram illustrating a correlation between a voltagemeasurement and a voltage factor used in the calculation of a warrantyvalue, according to an embodiment.

FIG. 36A is a diagram illustrating how to determine a battery lifetimevalue or warranty value, according to an embodiment.

FIG. 36B is a diagram illustrating warranty thresholds used for voidinga warranty for a battery pack, according to an embodiment.

FIG. 37 is a diagram illustrating example usage of a battery pack,according to an embodiment.

FIG. 38 is a diagram illustrating an example warranty tracker accordingto an embodiment.

FIG. 39 is an example method for calculating and storing a cumulativewarranty value, according to an embodiment.

FIG. 40 is an example method for using a warranty tracker, according toan embodiment.

FIG. 41 is a diagram illustrating a battery pack and associated warrantyinformation, according to an embodiment.

FIG. 42 is a diagram illustrating example distributions of battery packsbased on self-discharge rates and charge times according to anembodiment.

FIG. 43 is a diagram illustrating correlation between temperature andcharge time of a battery pack according to an embodiment.

FIG. 44 is a diagram illustrating an example system for detecting abattery pack having an operating issue or defect according to anembodiment.

FIG. 45 is a diagram illustrating aggregation of data for analysis froman array of battery packs according to an embodiment.

FIG. 46 is a flowchart illustrating an example method for detecting abattery pack having an operating issue or defect according to anembodiment.

FIG. 47 is a diagram depicting a cross-sectional view of an example BESSand example deployments of one or more BESS units.

FIG. 48A is a diagram illustrating an example BESS coupled to an exampleenergy system.

FIG. 48B is a diagram depicting a cross-sectional view of an exampleBESS.

FIGS. 49A, 49B, and 49C are diagrams illustrating the housing of anexample BESS.

FIGS. 50A, 50B, and 50C are diagrams illustrating an example BESS withits housing removed.

FIG. 51 is a diagram illustrating air flow in an example BESS.

FIGS. 52A and 52B are diagrams illustrating an example BESS coupled to abi-directional power converter.

FIGS. 53A and 53B are diagrams illustrating an example BESS.

FIGS. 54A, 54B, and 54C are diagrams illustrating an example BESS housedin a modified shipping container.

FIGS. 55A, 55B, 55C, and 55D are diagrams illustrating an examplemodular, stackable BESS.

FIGS. 56A, 56B, 56C, 56D, and 56E are diagrams illustrating an examplemodular, stackable battery stack.

FIGS. 57A, 57B, 57C, 57D, 57E, and 57F are diagrams illustrating anexample modular, stackable battery pack or battery unit.

FIGS. 58A, 58B, and 58C are diagrams illustrating an example modular,stackable battery pack or battery unit.

FIGS. 59A, 59B, and 59C are diagrams illustrating an example batteryassembly for a modular, stackable battery pack or battery unit.

FIGS. 60A and 60B are diagrams illustrating an example battery stackcontroller or battery string controller.

FIGS. 61A, 61B, 61C, and 61D are diagrams illustrating an examplebattery pack controller.

Embodiments are described with reference to the accompanyingdrawings/figures. The drawing in which an element first appears istypically indicated by the leftmost digit or digits in the correspondingreference number.

DETAILED DESCRIPTION

While the present disclosure is described herein with illustrativeembodiments for particular applications, it should be understood thatthe disclosure is not limited thereto. A person skilled in the art withaccess to the teachings provided herein will recognize additionalmodifications, applications, and embodiments within the scope thereofand additional fields in which the disclosure would be of significantutility.

The terms “embodiments” or “example embodiments” do not require that allembodiments include the discussed feature, advantage, or mode ofoperation. Alternate embodiments may be devised without departing fromthe scope or spirit of the disclosure, and well-known elements may notbe described in detail or may be omitted so as not to obscure therelevant details. In addition, the terminology used herein is for thepurpose of describing particular embodiments only and is not intended tobe limiting. For example, as used herein, the singular forms “a,” “an”and “the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. It will be further understood thatthe terms “comprises,” “comprising,” “includes” and “including,” whenused herein, specify the presence of stated features, integers, steps,operations, elements, and components, but do not preclude the presenceor addition of one or more other features, integers, steps, operations,elements, components, or groups thereof.

In an embodiment, the electrical energy storage unit (which may also bereferred to as a battery energy storage system (“BESS”)) includes abattery system controller and battery packs. Each battery pack hasbattery cells, a battery pack controller that monitors the cells, abattery pack cell balancer that adjusts the amount of energy stored inthe cells, and a battery pack charger. The battery pack controlleroperates the battery pack cell balancer and the battery pack charger tocontrol the state-of-charge of the cells. In an embodiment, the cellsare lithium ion battery cells.

As described herein, it is a feature of the disclosure that the energystorage unit and control system are highly scalable, ranging from smallkilowatt-hour size electrical energy storage units to megawatt-hour sizeelectrical energy storage units.

FIG. 1A is a diagram that illustrates a networked group of electricalenergy storage units 10 that comprise one or more battery packs 104according to an embodiment. The illustrated electrical energy storageunits include energy storage unit 100, energy storage unit 110, andenergy storage unit 120. Energy storage unit 100 includes a large numberbattery packs such as battery packs 104 a and 104 b. Energy storage unit110 includes a single battery pack 104 c. Energy storage unit 120includes two battery packs 104 d and 104 e. Generally speaking, theenergy storage units can include any number of battery packs 104.

As shown in FIG. 1A, the networked battery packs 104 are connected to adata center 140 and can send data to data center 140 using the Internet130. The data from battery packs 104 can be automatically sent to datacenter 140, or the data can be sent to data center 140 in response tosignals sent to energy storage units 100, 110, and 120 of networkedenergy storage units 10 by data center 140.

FIG. 1B is a diagram that illustrates a battery pack 104 having anoperating system 150 that is used to collect battery data 160 and toproduce battery rate data that is used to sell battery insurance 170according to an embodiment. In an embodiment, battery pack operatingsystem 150 is a suite of modules that performs many functions asdescribed in more detail below. Data center 140 is any data center thatcan store battery data. In an embodiment, this battery data includesdata that represents the expected lifetime of the battery, data thatrepresents the usage of the battery, and or data related to the batterywarranty. Such data may include, for example, battery voltage data,battery temperature data, battery charge and discharge current data,and/or battery power data. In embodiments, this battery data isassociated with particular battery models, particular batterymanufacturers and/or particular manufacturers of battery packs and/orenergy storage systems.

In an embodiment, the battery data 160 (stored for example in datacenter 140) is analyzed and used to form rate data for insurancepurposes. For example, the battery data can be analyzed to determine anexpected lifetime for particular batteries made by particular batterymanufacturers and/or particular battery packs made by particularmanufacturers. This expected lifetime data can then be used to determinethe cost of insurance sold to cover battery packs 104. Batteries andbattery packs that have a longer expected lifetime can potentially getterm insurance coverage at a lower rate than batteries and battery packsthat have a shorter expected lifetime. In embodiments, the rate data isdetermined similarly to how life insurance rate data is determined.

Battery data 160, which can be collected, analyzed, and used to produceinsurance rate data, for example, is described in more detail below.

FIG. 1C is a diagram that further illustrates battery pack operatingsystem 150 according to an embodiment. As shown, in one embodimentbattery pack operating system 150 includes a battery lifetime monitor162, a battery warranty monitor 164, a battery usage monitor 168, abattery alarms, warnings, and errors (AWE) manager 151, a batterymaintenance manager 152, a battery balancing manager 153, a batterycalibration manager 154, a battery configuration manager 155, a batterycommunication manager 156, and a battery software update manager 157.

Battery lifetime monitor 162 tracks the lifetime usage of the battery.In an embodiment, this is done by calculating a battery lifetime valueas described in more detail below with reference to FIG. 36A. This valuemay be a product of three factors multiplied together and thencontinually accumulated. These three factors are a current factor, avoltage factor, and a temperature factor, which are further describedbelow with reference to FIGS. 33, 34, and 35. When the battery is usedat high charge or discharge rates, the battery lifetime value increasesat a greater rate than when the battery is used at lower charge ordischarge rates. When the battery is not being charged or discharged,the battery lifetime value does not increase. Similarly, the rate atwhich the battery lifetime value increases is also affected by thevoltage factor and the temperature factor.

Battery warranty monitor 164 ensures that the battery is used inaccordance with warranty requirements specified, for example, by thebattery manufacturer. Battery warranty monitor 164 determines when awarranty condition for the battery has been violated, and in anembodiment sends a message to a monitoring center that containsinformation about the warranty violation. In an embodiment, the batteryuser and/or owner is also informed about the warranty violation. This isdescribed in more detail below with reference to FIG. 36B.

Battery usage monitor 168 records data that can be analyzed to determinehow the battery was used over its lifetime. In embodiments, this dataincludes voltage data, temperature data, current data and/or power data.In embodiments, this data can be displayed in the form of usage graphs.This is described below in more detail with reference to FIG. 37.

Battery alarms, warnings, and errors (AWE) manager 151 protects thebattery and identifies operating issues. In embodiments, alarms,warnings and errors are generated due, for example, to over-voltageconditions, under-voltage conditions, high-temperature conditions,low-temperature conditions, high-differential temperate conditions,fast-temperature rise conditions, high charge current, high dischargecurrent, loss of communications, circuit board issues or failures and/orweak or bad battery cells or battery modules.

Battery maintenance manager 152 reports issues with the battery pack sothat they may be corrected by maintenance.

Battery balancing manager 153 balances the battery in a reliable andcost effective manner. This is described in more detail below.

Battery calibration manager 154 recalibrates battery pack values such asstate-of-charge, amp-hour capacity, Watt-hour capacity, voltagemeasurement calibration factors and temperature calibration factors.

Battery configuration manager 155 implements among other things the plugand play features of the battery pack. These include such things asestablishing communication with other components of an energy storageunit when the battery pack is first installed and energized, obtaining acommunication address of ID, and associating itself with a particularnetwork of battery packs to form an energy storage unit.

Battery communication manager 156 monitors communications between thebattery pack and other system components to ensure the safe and reliableoperation of the battery pack. It also tries to reestablishcommunications if communications are lost.

Battery software update manager 157 enables and facilitates the remoteupdating of the battery pack software and firmware. This updating can bedone automatically when the update feature is enabled.

FIG. 1D is a diagram that illustrates an electrical energy storage unit100 according to an embodiment of the disclosure. As shown in FIG. 1,electrical energy storage unit 100 includes battery units 104 a and 104b, control units 106 a and 106 b, and inverters 108 a and 108 b. In anembodiment, electrical energy storage unit 100 is housed in a container102, which is similar to a shipping container. In such embodiments,electrical energy storage unit 100 is movable and can be transported bytruck.

As shown in FIGS. 2A-2C, electrical energy storage unit 100 is suitablefor storing large amounts of electrical energy.

FIG. 2A is a diagram that illustrates the electrical energy storage unit100 of FIG. 1D being used as a part of a renewable wind energy system200. Wind energy system 200 includes wind turbines 202 a and 202 b.Energy from wind turbine 202 a is stored in an electrical energy storageunit 100 a. Energy from wind turbine 202 b is stored in an electricalenergy storage unit 100 b. As will be understood by persons skilled inthe relevant art, electrical energy storage units 100 a and 100 b enablestored electrical energy generated by wind turbines 202 a and 202 b tobe dispatched.

FIG. 2B is a diagram that illustrates the electrical energy storage unit100 of FIG. 1D being used as a part of a renewable solar energy system220. Solar energy system 220 includes a solar array 222 and anelectrical energy storage unit 100. Energy from solar array 222 isstored in the electrical energy storage unit 100. Electrical energystorage unit 100 enables stored electrical energy generated by solararray 222 to be dispatched.

FIG. 2C is a diagram that illustrates the electrical energy storage unit100 of FIG. 1D being used as a part of a grid energy system 230. Gridenergy system 230 includes electrical equipment 232 and an electricalenergy storage unit 100. Energy from grid energy system 230 is stored inthe electrical energy storage unit 100. Electrical energy stored byelectrical energy storage unit 100 can be dispatched.

FIG. 3 is a diagram that further illustrates battery units 104 a and 104b of electrical energy storage unit 100. As shown in FIG. 3, batteryunits 104 a and 104 b are formed using multiple battery packs 302according to an embodiment of the disclosure. In FIG. 3, three batterypacks 302 a-c are shown. Battery packs 302 a and 302 c form a part ofbattery unit 104 a. Battery pack 302 b forms a part of battery unit 104b.

FIG. 4 is a diagram that further illustrates a battery pack 302according to an embodiment of the disclosure. Battery pack 302 includesan enclosure 402, a lid 404, a power connector 406, and two signalconnectors 408 a and 408 b. Enclosure 402 and lid 404 are preferablymade from a strong plastic or metal. The power connector 406 includesconnections for the positive and negative terminals of the battery pack,connections for the DC supply power, and connections for AC supplypower. In embodiments of the disclosure, only DC supply power or ACsupply power can be used. The signal connectors 408 a and 408 b areRJ-45 connectors, but other types of connectors can be used too. Thesignal connectors are used, for example, for CAN (CANBus) communicationsbetween battery pack 302 and other components of electrical energystorage unit 100.

As shown in FIG. 4, in an embodiment enclosure 402 houses a battery liftplate 410 that supports two battery modules 412 a and 412 b. Batterymodules 412 a and 412 b each include multiple pouch-type batteriesconnected together in a series/parallel configuration. In embodiments,battery modules 412 a and 412 b can comprise, but are not limited to,for example, 10 to 50 AH cells arranged in a 1P16S configuration, a2P16S configuration, a 3P16S configuration, or a 4P16S configuration.Other configurations are also possible and form a part of the scope ofthe disclosure. In an embodiment, the battery cells are connected usinga printed circuit board that includes the wiring and connections forvoltage and temperature monitoring of the battery cells as well as forbalancing the battery cells.

Other items housed in enclosure 402 include a battery pack controller414, an AC power supply 416, a DC power supply 418, a battery pack cellbalancer 420, and a fuse and fuse holder 422. In embodiments of thedisclosure, only AC power supply 416 or DC power supply 418 can be used.

FIG. 5 is a diagram that further illustrates battery pack controller 414according to an embodiment of the disclosure. In an embodiment, batterypack controller 414 includes a battery/DC input 502, a charger switchingcircuit 504, a DIP-switch 506, a JTAG connection 508 and RS-232connection 510, fan connectors 512, a CAN (CANBus) connection 514, amicroprocessor unit (MCU) 516, memory 518, a balancing board connector520, a battery box (enclosure) temperature monitoring circuit 522, abattery cell temperature measurement circuit 524, a battery cell voltagemeasurement circuit 528, a DC-DC power supply 530, a watchdog timer 532,and a reset button 534. The battery cell temperature measurement circuit524 and the battery cell voltage measurement circuit 528 are coupled toMCU 516 using multiplexers (MUX) 526 a and 526 b, respectively.

In an embodiment, battery pack controller 414 is powered from energystored in the battery cells. Battery pack controller 414 is connected tothe battery cells by battery/DC input 502. In other embodiments, batterypack controller 414 is powered from a DC power supply connected tobattery/DC input 502. DC-DC power supply 530 then converts the input DCpower to one or more power levels appropriate for operating the variouselectrical components of battery pack controller 414.

Charger switching circuit 504 is coupled to MCU 516. Charger switchingcircuit 504 and MCU 516 are used to control operation of AC power supply416 and/or DC power supply 418. As described herein, AC power supply 416and/or DC power supply 418 are used to add energy to the battery cellsof battery pack 302.

Battery pack controller 414 includes several interfaces and connectorsfor communicating. These interfaces and connectors are coupled to MCU516 as shown in FIG. 5. In an embodiment, these interfaces andconnectors include: DIP-switch 506, which is used to set a portion ofsoftware bits used to identify battery pack controller 414; JTAGconnection 508, which is used for testing and debugging battery packcontroller 414; RS-232 connection 510, which is used to communicate withMCU 516; CAN (CANBus) connection 514, which is used to communicate withMCU 516; and balancing board connector 520, which is used to communicatesignals between battery pack controller 414 and battery pack cellbalancer 420.

Fan connectors 512 are coupled to MCU 516. Fan connectors 512 are usedtogether with MCU 516 and battery box temperature monitoring circuit 522to operate one or more optional fans that can aid in cooling batterypack 302. In an embodiment, battery box temperature monitoring circuit522 includes multiple temperature sensors that can monitor thetemperature of battery pack cell balancer 420 and/or other heat sourceswithin battery pack 302 such as, for example, AC power supply 416 and/orDC power supply 418.

Microprocessor unit (MCU) 516 is coupled to memory 518. MCU 516 is usedto execute an application program that manages battery pack 302. Asdescribed herein, in an embodiment the application program performs thefollowing functions: monitors the voltage and temperature of the batterycells of battery pack 302, balances the battery cells of battery pack302, monitor and controls (if needed) the temperature of battery pack302, handles communications between battery pack 302 and othercomponents of electrical energy storage system 100, and generateswarnings and/or alarms, as well as taking other appropriate actions, toprevent over-charging or over-discharging the battery cells of batterypack 302.

Battery cell temperature measurement circuit 524 is used to monitor thecell temperatures of the battery cells of battery pack 302. In anembodiment, individual temperature monitoring channels are coupled toMCU 516 using a multiplexer (MUX) 526 a. The temperature readings areused to ensure that the battery cells are operated within theirspecified temperature limits and to adjust temperature related valuescalculated and/or used by the application program executing on MCU 516,such as, for example, how much dischargeable energy is stored in thebattery cells of battery pack 302.

Battery cell voltage measurement circuit 528 is used to monitor the cellvoltages of the battery cells of battery pack 302. In an embodiment,individual voltage monitoring channels are coupled to MCU 516 using amultiplexer (MUX) 526 b. The voltage readings are used, for example, toensure that the battery cells are operated within their specifiedvoltage limits and to calculate DC power levels.

Watchdog timer 532 is used to monitor and ensure the proper operation ofbattery pack controller 414. In the event that an unrecoverable error orunintended infinite software loop should occur during operation ofbattery pack controller 414, watchdog timer 532 can reset battery packcontroller 414 so that is resumes operating normally.

Reset button 534 is used to manually reset operation of battery packcontroller 414. As shown in FIG. 5, reset button 534 is coupled to MCU516.

FIG. 6A is a diagram that illustrates a battery pack cell balancer 420 aaccording to an embodiment of the disclosure. Battery pack cell balancer420 a includes a first set of resistors 604 a-d coupled through switches606 a-d to a battery cells connector 602 a and a second set of resistors604 e-h coupled through switches 606 e-h to a battery cells connector602 b. Battery cells connectors 602 a and 602 b are used to connectbattery pack cell balancer 420 a to the battery cells of battery pack302. A battery pack electronic control unit (ECU) connector 608 connectsswitches 604 a-h to battery pack controller 414.

In operation, switches 606 a-h of battery pack cell balancer 420 a areselectively opened and closed to vary the amount of energy stored in thebattery cells of battery pack 302. The selective opening and closing ofswitches 606 a-h allows energy stored in particular battery cells ofbattery pack to be discharged through resistors 604 a-h, or for energyto bypass selected battery cells during charging of the battery cells ofbattery pack 302. The resistors 604 a-h are sized to permit a selectedamount of energy to be discharged from the battery cells of battery pack302 in a selected amount of time and to permit a selected amount ofenergy to bypass the battery cells of battery pack 302 during charging.In an embodiment, when the charging energy exceeds the selected bypassenergy amount, the closing of switches 604 a-h is prohibited by batterypack controller 414.

FIG. 6B is a diagram that illustrates a battery pack cell balancer 420b. Battery pack cell balancer 420 b includes a first capacitor 624 acoupled to two multiplexers (MUX) 620 a and 620 b through switches 622 aand 622 b, and a second capacitor 624 b coupled to two multiplexers(MUX) 620 c and 620 d through switches 622 c and 622 d. Multiplexers 620a and 620 b are connected to battery cells connector 602 a. Multiplexers620 c and 620 d are connected to battery cells connector 602 b. Batterypack electronic control unit (ECU) connector 608 connects switches 622a-d to battery pack controller 414.

In operation, multiplexers 620 a-b and switches 622 a-b are firstconfigured to connect capacitor 624 a to a first battery cell of batterypack 302. Once connected, capacitor 624 a is charged by the firstbattery cell, and this charging of capacitor 624 a reduces the amount ofenergy stored in the first battery cell. After charging, multiplexers620 a-b and switches 622 a-b are then configured to connect capacitor624 a to a second battery cell of battery pack 302. This time, energystored in capacitor 624 a is discharged into the second battery cellthereby increasing the amount of energy stored in the second batterycell. By continuing this process, capacitor 624 a shuttles energybetween various cells of battery pack 302 and thereby balances thebattery cells. In a similar manner, multiplexers 620 c-d, switches 622c-d, and capacitor 624 b are also used to shuttle energy between variouscells of battery pack 302 and balance the battery cells.

FIG. 6C is a diagram that illustrates a battery pack cell balancer 420c. Battery pack cell balancer 420 c includes a first inductor 630 acoupled to two multiplexers (MUX) 620 a and 620 b through switches 622 aand 622 b, and a second inductor 630 b coupled to two multiplexers (MUX)620 c and 620 d through switches 622 c and 622 d. Multiplexers 620 a and620 b are connected to battery cells connector 602 a. Multiplexers 620 cand 620 d are connected to battery cells connector 602 b. Battery cellsconnectors 602 a and 602 b are used to connect battery pack cellbalancer 420 a to the battery cells of battery pack 302. Inductor 630 ais also connected by a switch 632 a to battery cells of battery pack302, and inductor 630 b is connected by a switch 632 b to battery cellsof battery pack 302. Battery pack electronic control unit (ECU)connector 608 connects switches 622 a-d and switches 632 a-b to batterypack controller 414.

In operation, switch 632 a is first closed to allow energy from thebatteries of battery pack 302 to charge inductor 630 a. This chargingremoves energy from the battery cells of battery pack 302 and stores theenergy in inductor 630 a. After charging, multiplexers 620 a-b andswitches 622 a-b are configured to connect inductor 630 a to a selectedbattery cell of battery pack 302. Once connected, inductor 630 adischarges its stored energy into the selected battery cell therebyincreasing the amount of energy stored in the selected battery cell. Bycontinuing this process, inductor 630 a is thus used to take energy fromthe battery cells of battery pack 302 connected to inductor 632 a byswitch 632 a and to transfer this energy only to selected battery cellsof battery pack 302. The process thus can be used to balance the batterycells of battery pack 302. In a similar manner, multiplexers 620 c-d,switches 622 c-d and 632 b, and inductor 630 b are also used to transferenergy and balance the battery cells of battery pack 302.

As will be understood by persons skilled in the relevant art given thedescription herein, each of the circuits described in FIGS. 6A-C haveadvantages in their operation, and in embodiments of the disclosureelements of these circuits are combined and used together to bypassand/or transfer energy and thereby balance the battery cells of batterypack 302.

FIG. 7 is a diagram that further illustrates an electrical energystorage unit 100 according to an embodiment of the disclosure. As shownin PG. 7, a control unit 106 includes multiple battery systemcontrollers 702 a-c. As described in more detail below, each batterysystem controller 702 monitors and controls a subset of the batterypacks 302 that make up a battery unit 104 (see FIG. 3). In anembodiment, the battery system controllers 702 are linked together usingCAN (CANBus) communications, which enables the battery systemcontrollers 702 to operate together as part of an overall network ofbattery system controllers. This network of battery system controllerscan manage and operate any size battery system such as, for example, amulti-megawatt-hour centralized storage battery system. In anembodiment, one of the networked battery system controllers 702 can bedesignated as a master battery system controller and used to controlbattery charge and discharge operations by sending commands that operateone or more inverters and/or chargers connected to the battery system.

As shown in FIG. 7, in an embodiment electrical energy storage unit 100includes a bi-directional inverter 108. Bi-directional inverter 108 iscapable of both charging a battery unit 104 and discharging the batteryunit 104 using commands issued, for example, via a computer over anetwork (e.g. the Internet, an Ethernet, et cetera) as described in moredetail below with reference to FIGS. 10B and 10C. In embodiments of thedisclosure, both the real power and the reactive power of inverter 108can be controlled. Also, in embodiments, inverter 108 can be operated asa backup power source when grid power is not available and/or electricalenergy storage unit 100 is disconnected from the grid.

FIG. 8A is a diagram that further illustrates a battery systemcontroller 702 according to an embodiment of the disclosure. As shown inFIG. 8A, in an embodiment battery system controller 702 includes anembedded computer processing unit (Embedded CPU) 802, anampere-hour/power monitor 806, a low voltage relay controller 816, ahigh voltage relay controller 826, a fuse 830, a current shunt 832, acontactor 834, and a power supply 836.

As shown in FIG. 8A, in an embodiment embedded CPU 802 communicates viaCAN (CANBus) communications port 804 a with ampere-hour/power monitor806, low voltage relay controller 816, and battery packs 302. Inembodiments, as described herein, embedded CPU 802 also communicateswith one or more inverters and/or one or more chargers using, forexample, CAN (CANBus) communications.

Other means of communications can also be used however such as, forexample, RS 232 communications or RS 485 communications 100761. Inoperation, embedded CPU 802 performs many functions. These functionsinclude: monitoring and controlling selected functions of battery packs302, ampere-hour/power monitor 806, low voltage relay controller 816,and high voltage relay controller 826; monitoring and controlling when,how much, and at what rate energy is stored by battery packs 302 andwhen, how much, and at what rate energy is discharged by battery packs302; preventing the over-charging or over-discharging of the batterycells of battery packs 302; configuring and controlling systemcommunications; receiving and implementing commands, for example, froman authorized user or another networked battery system controller 702;and providing status and configuration information to an authorized useror another networked battery system controller 702. These functions, aswell as other functions performed by embedded CPU 802, are described inmore detail below.

As described in more detail below, examples of the types of status andcontrol information monitored and maintained by embedded CPU 802 includethat identified with references to FIGS. 19A-E, 21, 22A-B, and 23A-B. Inembodiments, embedded CPU 802 monitors and maintains common electricalsystem information such as inverter output power, inverter outputcurrent, inverter AC voltage, inverter AC frequency, charger outputpower, charger output current, charger DC voltage, et cetera. Additionalstatus and control information monitored and maintained by embodimentsof embedded CPU 802 will also be apparent to persons skilled in therelevant arts given the description herein.

As shown in FIG. 8A, ampere-hour/power monitor 806 includes a CAN(CANBus) communications port 804 b, a micro-control unit (MCU) 808, amemory 810, a current monitoring circuit 812, and a voltage monitoringcircuit 814. Current monitoring circuit 812 is coupled to current shunt832 and used to determine a current value and to monitor the chargingand discharging of battery packs 302. Voltage monitoring circuit 814 iscoupled to current shunt 832 and contactor 834 and used to determine avoltage value and to monitor the voltage of battery packs 302. Currentand voltage values obtained by current monitoring circuit 812 andvoltage monitoring circuit 814 are stored in memory 810 andcommunicated, for example, to embedded CPU 802 using CAN (CANBus)communications port 804 b.

In an embodiment, the current and voltage values determined byampere-hour/power monitor 806 are stored in memory 810 and are used by aprogram stored in memory 810, and executed on MCU 808, to derive valuesfor power, ampere-hours, and watt-hours. These values, as well as statusinformation regarding ampere-hour/power monitor 806, are communicated toembedded CPU 802 using CAN (CANBus) communications port 804 b.

As shown in FIG. 8A, low voltage relay controller 816 includes a CAN(CANBus) communications port 804 c, a micro-control unit (MCU) 818, amemory 820, a number of relays 822 (i.e., relays R0, R1 . . . RN), andMOSFETS 824. In embodiments, low voltage relay controller 816 alsoincludes temperature sensing circuits (not shown) to monitor, forexample, the temperature of the enclosure housing components of batterysystem controller 702, the enclosure housing electrical energy storageunit 100, et cetera.

In operation, low voltage relay controller 816 receives commands fromembedded CPU 802 via CAN (CANBus) communications port 804 c and operatesrelays 822 and MOSFETS 824 accordingly. In addition, low voltage relaycontroller 816 sends status information regarding the states of therelays and MOSFETS to embedded CPU 802 via CAN (CANBus) communicationsport 804 c. Relays 822 are used to perform functions such, for example,turning-on and turning-off cooling fans, controlling the output of powersupplies such as, for example, power supply 836, et cetera. MOSFETS 824are used to control relays 828 of high voltage relay controller 826 aswell as, for example, to control status lights, et cetera. Inembodiments, low voltage relay controller 816 executes a program storedin memory 820 on MCU 818 that takes over operational control forembedded CPU 802 in the event that embedded CPU stops operating and/orcommunication as expected. This program can then make a determination asto whether it is safe to let the system continue operating when waitingfor embedded CPU 802 to recover, or whether to initiate a systemshutdown and restart.

As shown in FIG. 8A, high voltage relay controller 826 includes a numberof relays 828. One of these relays is used to operate contactor 834,which is used to make or break a connection in a current carrying wirethat connects battery packs 302. In embodiments, other relays 828 areused, for example to control operation of one or more inverters and/orone or more chargers. Relays 828 can operate devices either directly orby controlling additional contactors (not shown), as appropriate, basedon voltage and current considerations.

In embodiments, a fuse 830 is included in battery system controller 702.The purpose of fuse 830 is to interrupt high currents that could damagebattery cells or connecting wires.

Current shunt 832 is used in conjunction with ampere-hour/power monitor806 to monitor the charging and discharging of battery packs 302. Inoperation, a voltage is developed across current shunt 832 that isproportional to the current flowing through current shunt 832. Thisvoltage is sensed by current monitoring circuit 812 of ampere-hour/powermonitor 806 and used to generate a current value.

Power supply 836 provides DC power to operate the various components ofbattery system controller 702. In embodiments, the input power to powersupply 836 is either AC line voltage, DC battery voltage, or both.

FIGS. 8B and 8C are diagrams that further illustrate an exemplarybattery system controller 702 according to an embodiment of thedisclosure. FIG. 8B is a top, front-side view of the example batterysystem controller 702, with the top cover removed in order to show alayout for the housed components. FIG. 8C is a top, left-side view ofthe exemplary battery system controller 702, also with the top coverremoved to show the layout of the components.

As shown in FIG. 8B, FIG. 8C, or both, battery system controller 702includes an enclosure 840 that houses embedded CPU 802,ampere-hour/power monitor 806, low voltage relay controller 816, highvoltage relay controller 826, a fuse holder and fuse 830, current shunt832, contactor 834, and power supply 836. Also included in enclosure 840are a circuit breaker 842, a power switch 844, a first set of signalconnectors 846 (on the front side of enclosure 840), a second set ofsignal connectors 854 (on the back side of enclosure 840), a set ofpower connectors 856 a-d (on the back side of enclosure 840), and twohigh voltage relays 858 a and 858 b. In FIGS. 8B and SC, the wiring hasbeen intentionally omitted so as to more clearly show the layout of thecomponents. How to wire the components together, however, will beunderstood by persons skilled in the relevant art given the descriptionherein.

The purpose and operation of embedded CPU 802, ampere-hour/power monitor806, low voltage relay controller 816, high voltage relay controller826, a fuse holder and fuse 830, current shunt 832, contactor 834, andpower supply 836 have already been described above with reference toFIG. 8A. As will be known to persons skilled in the relevant art, thepurpose of circuit breaker 842 is safety. Circuit breaker 842 isconnected in series with current shunt 832 and is used to interrupt highcurrents that could damage battery cells or connecting wires. It canalso be used, for example, to manually open the current carry wireconnecting battery packs 302 together during periods of maintenance ornon-use of electrical energy storage unit 100. Similarly, power switch844 is used to turn-on and turnoff the AC power input to battery systemcontroller 702.

The purpose of the first set of signal connectors 846 (on the front sideof enclosure 840) is to be able to connect to embedded CPU 802 withouthaving to take battery system controller 702 out of control unit 106and/or without having to remove the top cover of enclosure 840. In anembodiment, the first set of signal connectors 846 includes USBconnectors 848, RJ-45 connectors 850, and 9-pin connectors 852. Usingthese connectors, it is possible to connect, for example, a keyboard anda display (not shown) to embedded CPU 802.

The purpose of the second set of signal connectors 854 (on the back sideof enclosure 840) is to be able to connect to and communicate with othercomponents of electrical energy storage unit 100 such as, for example,battery packs 302 and inverters and/or chargers. In an embodiment, thesecond set of signal connectors 854 includes RJ-45 connectors 850 and9-pin connectors 852. The RJ-45 connectors 850 are used, for example,for CAN (CANBus) communications and Ethernet/internet communications.The 9-pin connectors 852 are used, for example, for RS-232 or RS-485communications.

The purpose of the power connectors 856 a-d (on the back side ofenclosure 840) is for connecting power conductors. In an embodiment,each power connect 856 has two larger current carrying connection pinsand four smaller current carrying connection pins. One of the powerconnectors 856 is used to connect one end of current shunt 832 and oneend of contactor 834 to the power wires connecting together batterypacks 302 (e.g., using the two larger current carrying connection pins)and for connecting the input power to one or both of power supplies 416or 418 of battery packs 302 to control a relay or relays insideenclosure 840 (e.g., using either two or four of the four smallercurrent carrying connection pins). A second power connector 856 is used,for example, to connect grid AC power to a control relay inside housing840. In embodiments, the remaining two power connectors 856 are used,for example, to connect relays inside enclosure 840 such as relays 856 aand 856 b to power carrying conductors of inverters and/or chargers.

In an embodiment, the purpose of high voltage relays 858 a and 858 b isto make or to break a power carrying conductor of a charger and/or aninverter connected to battery packs 302. By breaking the power carryingconductors of a charger and/or an inverter connected to battery packs302, these relays can be used to prevent operation of the charger and/orinverter and thus protect against the over-charging or over-dischargingof battery packs 302.

FIG. 9 is a diagram that illustrates an electrical energy storage unit900 according to an embodiment of the disclosure. Electrical energystorage unit 900, as described herein, can be operated as a stand-aloneelectrical energy storage unit, or it can be combined together withother electrical energy storage units 900 to form a part of a largerelectrical energy storage unit such as, for example, electrical energystorage unit 100.

As shown in FIG. 9, electrical energy storage unit 900 includes abattery system controller 702 coupled to one or more battery packs 302a-n. In embodiments, as described in more detail below, battery systemcontroller 702 can also be coupled to one or more chargers and one ormore inverters represented in FIG. 9 by inverter/charge 902.

The battery system controller 702 of electrical energy storage unit 900includes an embedded CPU 802, an ampere-hour/power monitor 806, a lowvoltage relay controller 816, a high voltage relay controller 826, afuse 830, a current shunt 832, a contactor 834, and a power supply 836.Each of the battery packs 302 a-n includes a battery module 412, abattery pack controller 414, an AC power supply 416, and a battery packcell balancer 420.

In operation, for example, during a battery charging evolution,electrical energy storage unit 900 performs as follows. Embedded CPU 802continually monitors status information transmitted by the variouscomponents of electrical energy storage unit 900. If based on thismonitoring, embedded CPU 802 determines that the unit is operatingproperly, then when commanded, for example, by an authorized user or bya program execution on embedded CPU 802 (see, e.g., FIG. 10B below),embedded CPU 802 sends a command to low voltage relay controller 816 toclose a MOSFET switch associated with contactor 834. Closing this MOSFETswitch activates a relay on high voltage relay controller 826, which inturn closes contactor 834. The closing of contactor 834 couples thecharger (i.e., inverter/charger 902) to battery packs 302 a-n.

Once the charger is coupled to battery packs 302 a-n, embedded CPU 802sends a command to the charger to start charging the battery packs. Inembodiments, this command can be, for example, a charger output currentcommand or a charger output power command. After performing self checks,the charge will start charging. This charging causes current to flowthrough current shunt 832, which is measured by ampere-hour/powermonitor 806. Ampere-hour/power monitor 806 also measures the totalvoltage of the battery packs 302 a-n. In addition to measuring currentand voltage, ampere-hour/power monitor 806 calculates a DC power value,an ampere-hour value, and a watt-hour value. The ampere-hour value andthe watt-hour value are used to update an ampere-hour counter and awatt-hour counter maintained by ampere-hour/power monitor 806. Thecurrent value, the voltage value, the ampere-hour counter value, and thewatt-hour counter value are continuously transmitted byampere-hour/power monitor 806 to embedded CPU 802 and the battery packs302 a-n.

During the charging evolution, battery packs 302 a-n continuouslymonitor the transmissions from ampere-hour/power monitor 806 and use theampere-hour counter values and watt-hour counter values to update valuesmaintained by the battery packs 302 a-n. These values include batterypack and cell state-of-charge (SOC) values, battery pack and cellampere-hour (AH) dischargeable values, and battery pack and cellwatt-hour (WH) dischargeable values, as described in more detail belowwith reference to FIG. 21. Also during the charging evolution, embeddedCPU 802 continuously monitors the transmissions from ampere-hour/powermonitor 806 as well as the transmissions from battery packs 302 a-n, anduses the ampere-hour counter transmitted values and the battery pack 302a-n transmitted values to update values maintained by embedded CPU 802.The values maintained by embedded CPU 802 include battery pack and cellSOC values, battery pack and cell AH dischargeable values, battery packand cell WH dischargeable values, battery and cell voltages, and batteryand cell temperatures as described in more detail below with referenceto FIGS. 22A and 22B. As long as everything is working as expected, thecharging evolution will continue until a stop criteria is met. Inembodiments, the stop criteria include, for example, a maximum SOCvalue, a maximum voltage value, or a stop-time value.

During the charging evolution, when a stop criterion is met, embeddedCPU 802 sends a command to the charger to stop the charging. Once thecharging is stopped, embedded CPU 802 sends a command to low voltagerelay controller 816 to open the MOSFET switch associated with contactor834. Opening this MOSFET switch changes the state of the relay on highvoltage relay controller 826 associated with contactor 834, which inturn opens contactor 834. The opening of contactor 834 decouples thecharger (i.e., inverter/charger 902) from battery packs 302 a-n.

As described in more detail below, battery packs 302 a-n are responsiblefor maintaining the proper SOC and voltage balances of their respectivebattery modules 412. In an embodiment, proper SOC and voltage balancesare achieved by the battery packs using their battery pack controllers414, and/or their AC power supplies 416 to get their battery modules 412to conform to target values such as, for example, target SOC values andtarget voltage values transmitted by embedded CPU 802. This balancingcan take place either during a portion of the charging evolution, afterthe charging evolution, or at both times.

As will be understood by persons skilled in the relevant art given thedescription here, a discharge evolution by electrical energy storageunit 900 occurs in a manner similar to that of a charge evolution exceptthat the battery packs 302 a-n are discharged rather than charged.

FIG. 10A is a diagram that further illustrates electrical energy storageunit 100 according to an embodiment of the disclosure. As shown in FIG.10A, electrical energy storage unit 100 is formed by combining andnetworking several electrical energy storage units 900 a-n. Electricalenergy storage unit 900 a includes a battery system controller 702 a andbattery packs 302 a ₁-n ₁. Electrical energy storage unit 900 n includesa battery system controller 702 n and battery packs 302 a _(n)-n _(n).The embedded CPUs 802 a-n of the battery system controllers 702 a-n arecoupled together and communicate with each other using CAN (CANBus)communications. Other communication protocols can also be used.Information communicated between the embedded CPUs 802 a-n includeinformation identified below with reference to FIGS. 22A and 22B.

In operation, electrical energy storage unit 100 operates similarly tothat described herein for electrical energy storage system 900. Eachbattery system controller 702 monitors and controls its own componentssuch as, for example, battery packs 302. In addition, one of the batterysystem controllers 702 operates as a master battery system controllerand coordinates the activities of the other battery system controllers702. This coordination includes, for example, acting as an overallmonitor for electrical energy storage unit 100 and determining andcommunicating target values such as, for example target SOC values andtarget voltage values that can be used to achieve proper battery packbalancing. More details regarding how this is achieved are describedbelow, for example, with reference to FIG. 25.

FIG. 10B is a diagram that illustrates an electrical energy storagesystem 1050 according to an embodiment of the disclosure. As illustratedin FIG. 10B, in an embodiment, system 1050 includes an electrical energystorage unit 100 that is in communication with a server 1056. Server1056 is in communication with data bases/storage devices 1058 a-n.Server 1056 is protected by a firewall 1054 and is shown communicatingwith electrical energy storage unit 100 via internet network 1052. Inother embodiments, other means of communication are used such as, forexample, cellular communications or an advanced metering infrastructurecommunication network. Users of electrical energy storage system 1050such as, for example, electric utilities and/or renewable energy assetoperators interact with electrical energy storage system 1050 using userinterface(s) 1060. In an embodiment, the user interfaces are graphical,web-based user interfaces, for example, which can be accessed bycomputers connected directly to server 1056 or to internet network 1052.In embodiments, the information displayed and/or controlled by userinterface(s) 1060 include, for example, the information identified belowwith references to FIGS. 19A-E, 21, 22A-B, and 23A-B. Additionalinformation as will be apparent to persons skilled in the relevantart(s) given the description herein can also be included and/orcontrolled.

In embodiments, user interface(s) 1060 can be used to update and/orchange programs and control parameters used by electrical energy storageunit 100. By changing the programs and/or control parameters, a user cancontrol electrical energy storage unit 100 in any desired manner. Thisincludes, for example, controlling when, how much, and at what rateenergy is stored by electrical energy storage unit 100 and when, howmuch, and at what rate energy is discharged by electrical energy storageunit 100. In an embodiment, the user interfaces can operate one or moreelectrical energy storage units 100 so that they respond, for example,like spinning reserve and potentially prevent a power brown out or blackout.

In an embodiment, electrical energy storage system 1050 is used to learnmore about the behavior of battery cells. Server 1056, for example, canbe used for collecting and processing a considerable amount ofinformation about the behavior of the battery cells that make upelectrical energy storage unit 100 and about electrical energy storageunit 100 itself. In an embodiment, information collected about thebattery cells and operation of electrical energy storage unit 100 can beutilized by a manufacturer, for example, for improving future batteriesand for developing a more effective future system. The information canalso be analyzed to determine, for example, how operating the batterycells in a particular manner effects the battery cells and the servicelife of the electrical energy storage unit 100. Further features andbenefits of electrical energy storage system 1050 will be apparent topersons skilled in the relevant art(s) given the description herein.

FIG. 10C is a diagram that illustrates an electrical energy storagesystem 1050 according to an alternative embodiment of the disclosure. Auser of the electrical energy storage system 1050 may use a computer1070 (on which a user interface may be provided) to access theelectrical energy storage unit 100 via a network connection 1080 otherthan the internet. The network 1080 in FIG. 10C may be any networkcontemplated in the art, including an Ethernet, or even a single cablethat directly connects the computer 1070 to the electrical energystorage unit 100.

FIGS. 11-20 are diagrams that further illustrate exemplary electricalenergy storage units and various electrical energy storage systems thatemployee the electrical energy storage units according to thedisclosure.

FIG. 11 is a diagram that illustrates an electrical energy storagesystem 1100 according to an embodiment of the disclosure. Electricalenergy storage system 1100 includes an electrical energy storage unit900, a generator 1104, cellular telephone station equipment 1112, and acellular telephone tower and equipment 1114. As shown in FIG. 11,electrical energy storage unit 900 includes a battery 1102 comprised onten battery packs 302 a-j, a battery system controller 702, a charger1106, and an inverter 1108. In embodiments of the disclosure, battery1102 can contain more ten or less than ten battery packs 302.

In operation, generator 1104 is run and used to charge battery 1102 viacharger 1106. When battery 1102 is charged to a desired state, generator1104 is shutdown. Battery 1102 is then ready to supply power to cellulartelephone station equipment 1112 and/or to equipment on the cellulartelephone tower. Battery system controller 702 monitors and controlselectrical energy storage unit 900 as described herein.

In embodiments of the disclosure, inverter 1108 can operate at the sametime charger 1106 is operating so that inverter 1108 can power equipmentwithout interruption during charging of battery 1102. Electrical energystorage system 1100 can be use for backup power (e.g., when grid poweris unavailable), or it can be used continuously in situations in whichthere is no grid power present (e.g., in an off-grid environment).

FIG. 12 is a diagram that illustrates an electrical energy storagesystem 1200 according to an embodiment of the disclosure. Electricalenergy storage system 1200 is similar to electrical energy storagesystem 1100 except that electrical energy storage unit 900 now powers aload 1202. Load 1202 can be any electrical load so long as battery 1102and generator 1104 are sized accordingly.

Electrical energy storage system 1200 is useful, for example, inoff-grid environments such as remote hospitals, remote schools, remotegovernment facilities, et cetera. Because generator 1104 is not requiredto run continuously to power load 1202, significant fuel savings can beachieved as well as an improvement in the operating life of generator1104. Other savings can also be realized using electrical energy storagesystem 1200 such as, for example, a reduction in the costs oftransporting the fuel needed to operate generator 1104.

FIG. 13 is a diagram that illustrates an electrical energy storagesystem 1300 according to an embodiment of the disclosure. Electricalenergy storage system 1300 is similar to electrical energy storagesystem 1200 except that generator 1104 has been replaced by solar panels1302. In electrical energy storage system 1300, solar panels 1302 areused to generate the electricity that is used to charge battery 1102 andto power load 1202.

Electrical energy storage system 1300 is useful, for example, inoff-grid environments similar to electrical energy storage system 1200.One advantage of electrical energy storage system 1300 over electricalenergy storage system 1200 is that no fuel is required. Not having agenerator and the no fuel requirement makes electrical energy storagesystem 1300 easier to operate and maintain than electrical energystorage system 1200.

FIG. 14 is a diagram that illustrates an electrical energy storagesystem 1400 according to an embodiment of the disclosure. Electricalenergy storage system 1400 is similar to electrical energy storagesystem 1300 except that solar panels 1302 have been replaced by a gridconnection 1402. In electrical energy storage system 1400, gridconnection 1402 is used to provide the electricity that is used tocharge battery 1102 and to power load 1202.

Electrical energy storage system 1400 is useful, for example, inenvironments where grid power is available. One advantage of electricalenergy storage system 1400 over electrical energy storage system 1300 isthat its initial purchase price is less than the purchase price ofelectrical energy storage system 1400. This is because no solar panels1302 are required.

FIG. 15 is a diagram that illustrates an electrical energy storagesystem 1500 according to an embodiment of the disclosure. Electricalenergy storage system 1500 includes an electrical energy storage unit900 connected to the power grid via grid connection 1402.

Electrical energy storage system 1500 stores energy from the grid andsupplies energy to the grid, for example, to help utilities shift peakloads and perform load leveling. As such, electrical energy storage unit900 can use a bi-directional inverter 1502 rather than, for example, aseparate inverter and a separate charger. Using a bi-directionalinverter is advantageous in that it typically is less expensive thanbuying a separate inverter and a separate charger.

In embodiments of the disclosure, electrical energy storage unit 900 ofelectrical energy storage system 1500 is operated remotely using a userinterface and computer system similar to that described herein withreference to FIG. 10B. Such a system makes the energy stored in battery1102 dispatchable in a manner similar to how utility operators interactto dispatch energy from a gas turbine.

FIG. 16 is a diagram that illustrates an electrical energy storagesystem 1600 according to an embodiment of the disclosure. Electricalenergy storage system 1600 includes an electrical energy storage unit900 (housed in an outdoor enclosure 1602) that is coupled to solarpanels 1606 (mounted on the roof of a house 1640) and to a gridconnection 1608.

In operation, solar panels 1606 and/or grid connection 1608 can be usedto charge the battery of electrical energy storage unit 900. The batteryof electrical energy storage unit 900 can then be discharge to powerloads within house 1604 and/or to provide power to the grid via gridconnection 1608.

FIG. 17 is a diagram that illustrates the electrical energy storage unit900 housed in outdoor enclosure 1602 according to an embodiment of thedisclosure. As shown in FIG. 17, electrical energy storage unit 900includes a battery 1102, a battery system controller 702, a charger1106, and inverter 1108, and a circuit breaker box and circuit breakers1704. Electrical energy storage unit 900 operates in a manner describedherein.

In an embodiment, outdoor enclosure 1602 is a NEMA 3R rated enclosure.Enclosure 1602 has two door mounted on the front side and two doorsmounted on the back side of enclosure 1602 for accessing the equipmentinside the enclosure. The top and side panels of the enclosure can alsobe removed for additional access. In embodiment, enclosure 1602 iscooled using fans controlled by battery system controller 702. Inembodiments, cooling can also be achieved by an air conditioning unit(not shown) mounted on one of the doors.

As will be understood by persons skilled in the relevant art(s) giventhe description herein, the disclosure is not limited to using outdoorenclosure 1602 to house electrical energy storage unit 900. Otherenclosures can also be used.

As shown in FIG. 18, in an embodiment of the disclosure a computer 1802is used to interact with and control electrical energy storage unit 900.Computer 1802 can be any computer such as, for example, a personalcomputer running a Windows or a Linux operating system. The connectionbetween the computer 1802 and electrical energy storage system 900 canbe either a wired connection or a wireless connection. This system forinteracting with electrical energy storage unit 900 is suitable, forexample, for a user residing in house 1604 who wants to use the system.For other users such as, for example, a utility operator, a systemsimilar to that described herein with reference to FIG. 10B may be used,thereby providing additional control and more access to informationavailable from electrical energy storage unit 900.

In embodiments of the disclosure, electrical energy storage unit 900 maybe monitored and/or controlled by more than one party such as, forexample, by the resident of house 1602 and by a utility operator. Insuch cases, different priority levels for authorized users can beestablished in order to avoid any potential conflicting commands.

FIGS. 19A-E are diagrams that illustrate an exemplary user interface1900 according to an embodiment of the disclosure, which is suitable forimplementation, for example, on computer 1802. The exemplary interfaceis intended to be illustrative and not limiting of the disclosure.

In an embodiment, as shown in FIG. 19A, user interface 1900 includes astatus indicator 1902, a stored energy indicator 1904, an electricalenergy storage unit power value 1906, a house load value 1908, a solarpower value 1910, and a grid power value 1912. The status indicator 1902is used to indicate the operational status of electrical energy storageunit 900. The stored energy indicator 1904 is used to show how muchenergy is available to be discharged from electrical energy storage unit900. The four values 1906, 1908, 1910 and 1912 show the rate and thedirection of energy flow of the components of electrical energy storagesystem 1600.

In FIG. 19A, the value 1906 indicates that energy is flowing intoelectrical energy storage unit 900 at a rate of 2.8 kw. The value 1908indicates that energy is flowing into house 1604 to power loads at arate of 1.2 kw. The value 1910 indicates that energy is being generatedby solar panels 1606 at a rate of 2.8 kw. The value 1912 indicates thatenergy being drawn from grid connection 1608 at a rate of 1.2 kw. Fromthese values, one can determine that the system is working, that thesolar panels are generating electricity, that the battery of theelectrical energy storage unit is being charged, and that energy isbeing purchased from a utility at a rate of 1.2 kw.

FIG. 19B depicts the state of electrical energy power system 1600 at apoint in time when no energy is being produced by the solar panels suchas, for example, at night. The value 1906 indicates that energy isflowing into electrical energy storage unit 900 at a rate of 2.0 kw. Thevalue 1908 indicates that energy is flowing into house 1604 to powerloads at a rate of 1.1 kw. The value 1910 indicates that no energy isbeing generated by solar panels 1606. The value 1912 indicates thatenergy is being provided from grid connection 1608 at a rate of 3.1 kw.From these values, one can determine that the system is working, thatthe solar panels are not generating electricity, that the battery of theelectrical energy storage unit is being charged, and that energy isbeing purchased from the utility at a rate of 3.1 kw.

FIG. 19C depicts the state of electrical energy power system 1600 at apoint in time in which the battery of electrical energy storage unit 900is fully charged and the solar panels are generating electricity. Thevalue 1906 indicates electrical energy storage unit 900 is neitherconsuming power nor generating power. The value 1908 indicates thatenergy is flowing into house 1604 to power loads at a rate of 1.5 kw.The value 1910 indicates that energy is being generated by solar panels1606 at a rate of 2.5 kw. The value 1912 indicates that energy is beingprovided to grid connection 1608 at a rate of 1.0 kw.

FIG. 19D depicts the state of electrical energy power system 1600 at apoint in time when no energy is being produced by the solar panels suchas, for example, at night, and when electrical energy storage unit 900is generating more electricity than is being used to power loads inhouse 1604. The value 1906 indicates that energy is flowing out ofelectrical energy storage unit 900 at a rate of 3.0 kw. The value 1908indicates that energy is flowing into house 1604 to power loads at arate of 2.2 kw. The value 1910 indicates that no energy is beinggenerated by solar panels 1606. The value 1912 indicates that energy isbeing provided to grid connection 1608 at a rate of 0.8 kw.

FIG. 19E depicts the state of electrical energy power system 1600 at apoint in time when no energy is being produced by the solar panels suchas, for example, at night, and when electrical power storage unit 900 isbeing controlled so as only to generate the electrical needs of loads inhouse 1604. The value 1906 indicates that energy is flowing out ofelectrical energy storage unit 900 at a rate of 2.2 kw. The value 1908indicates that energy is flowing into house 1604 to power loads at arate of 2.2 kw. The value 1910 indicates that no energy is beinggenerated by solar panels 1606. The value 1912 indicates that no energyis being drawn from or supplied to grid connection 1608.

As will be understood by persons skilled in the relevant arts afterreviewed FIGS. 19A-E and the description of the disclosure herein,electrical energy storage system 1600 has many advantages for bothelectricity consumers and utilities. These advantages include, but arenot limited to, the ability of the utility to level its loads, theability to provide back-up power for the customer in the event of powerdisruptions, support for plug-in electric vehicles and the deploymentand renewable energy sources (e.g., solar panels), the capability toprovide better grid regulation, and the capability to improvedistribution line efficiencies.

FIGS. 20-25 are diagrams that illustrate various software features ofthe disclosure. In embodiments, the software features are implementedusing both programmable memory and non-programmable memory.

FIG. 20 is a diagram that illustrates how various software features ofthe disclosure described herein are distributed among the components ofan exemplary electrical energy storage unit 900. As shown in FIG. 20, inan embodiment a battery system controller 702 of electrical energystorage unit 900 has three components that include software. Thesoftware is executed using a micro-control unit (MCU). These componentsare an embedded CPU 802, an ampere-hour/power monitor 806, and a lowvoltage relay controller 816.

Embedded CPU 802 includes a memory 2004 that stores an operating system(OS) 2006 and an application program (APP) 2008. This software isexecuted using MCU 2002. In an embodiment, this software works togetherto receive input commands from a user using a user interface, and itprovides status information about electrical energy storage unit 900 tothe user via the user interface. Embedded CPU 802 operates electricalenergy storage unit 900 according to received input commands so long asthe commands will not put electrical energy storage unit 900 into anundesirable or unsafe state. Input commands are used to control, forexample, when a battery 1102 of electrical energy storage unit 900 ischarged and discharged. Input commands are also used to control, forexample, the rate at which battery 1102 is charged and discharged aswell as how deeply battery 1102 is cycled during each charge-dischargecycle. The software controls charging of battery 1102 by sendingcommands to a charger electronic control unit (ECU) 2014 of a charger1106. The software controls discharging of battery 1102 by sendingcommands to an inverter electronic control unit (ECU) 2024 of aninverter 1108.

In addition to controlling operation of charger 1106 and inverter 1108,embedded CPU 802 works together with battery packs 302 a-302 n andampere-hour/power monitor 806 to manage battery 1102. The softwareresident and executing on embedded CPU 802, the battery pack controller414 a-n of battery packs 302 a-n, and ampere-hour/power monitor 806ensure safe operation of battery 1102 at all times and take appropriateaction, if necessary, to ensure for example that battery 1102 is neitherover-charged nor over-discharged.

As shown in FIG. 20, ampere-hour/power monitor 806 includes a memory 810that stores an application program 2010. This application program isexecuted using MCU 808. In embodiments, application program 2010 isresponsible for keeping track of how much charge is put into battery1102 during battery charging evolutions or taken out of battery 1102during battery discharging evolutions. This information is communicatedto embedded CPU 802 and the battery system controllers 414 of batterypacks 302.

Low voltage relay controller 816 includes a memory 820 that stores andapplication program 2012. Application program 2012 is executed using MCU818. In embodiments, application program 2012 opens and closes bothrelays and MOSFET switches in responds to commands from embedded CPU802. In addition, it also sends status information about the states ofthe relays and MOSFET switches to embedded CPU 802. In embodiments, lowvoltage relay controller 816 also includes temperature sensors that aremonitored using application program 2012, and in some embodiments,application program 2012 includes sufficient functionality so that lowvoltage relay controller 816 can take over for embedded CPU 802 when itis not operating as expected and make a determination as to whether toshutdown and restart electrical energy storage unit 900.

Charger ECU 2014 of charger 1106 includes a memory 2018 that stores anapplication program 2020. Application program 2020 is executed using MCU2016. In embodiments, application program 2020 is responsible forreceiving commands from embedded CPU 802 and operating charger 1106accordingly. Application program 2020 also sends status informationabout charger 1106 to embedded CPU 802.

Inverter ECU 2024 of inverter 1108 includes a memory 2028 that stores anapplication program 2030. Application program 2030 is executed using MCU2026. In embodiments, application program 2030 is responsible forreceiving commands from embedded CPU 802 and operating inverter 1108accordingly. Application program 2030 also sends status informationabout inverter 1108 to embedded CPU 802.

As also shown in FIG. 20, each battery pack 302 includes a batterysystem controller 414 that has a memory 518. Each memory 518 is used tostore an application program 2034. Each application program 2034 isexecuted using an MCU 516. The application programs 2034 are responsiblefor monitoring the cells of each respective battery pack 302 and sendingstatus information about the cells to embedded CPU 802. The applicationprograms 2034 are also responsible for balancing both the voltage levelsand the state-of-charge (SOC) levels of the battery cells of eachrespective battery pack 302.

In an embodiment, each application program 2034 operates as follows. Atpower on, MCU 518 starts executing boot loader software. The boot loadersoftware copies application software from flash memory to RAM, and theboot loader software starts the execution of the application software.Once the application software is operating normally, embedded CPU 802queries battery pack controller 414 to determine whether it contains theproper hardware and software versions for the application program 2008executing on embedded CPU 802. If battery pack controller 414 containsan incompatible hardware version, the battery pack controller is orderedto shutdown. If battery pack controller 414 contains an incompatible oroutdated software version, embedded CPU 802 provides the battery packcontroller with a correct or updated application program, and thebattery pack controller reboots in order to start executing the newsoftware.

Once embedded CPU 802 determines that battery pack controller 414 isoperating with the correct hardware and software, embedded CPU 802verifies that battery pack 414 is operating with the correctconfiguration data. If the configuration data is not correct, embeddedCPU 802 provides the correct configuration data to battery packcontroller 414, and battery pack controller 414 saves this data for useduring its next boot up. Once embedded CPU 802 verifies that batterypack controller 414 is operating with the correct configuration data,battery pack controller 414 executes its application software until itshuts down. In an embodiment, the application software includes a mainprogram that runs several procedures in a continuous while loop. Theseprocedures include, but are not limited to: a procedure to monitor cellvoltages; a procedure to monitor cell temperatures; a procedure todetermine each cell's SOC; a procedure to balance the cells; a CAN(CANBus) transmission procedure; and a CAN (CANBus) reception procedure.Other procedures implemented in the application software include alarmand error identification procedures as well as procedures needed toobtain and manage the data identified in FIG. 21 not already covered byone of the above procedures.

As will be understood by persons skilled in the relevant art(s) giventhe description herein, the other application programs described hereinwith reference to FIG. 20 operate in a similar manner except that theimplemented procedures obtain and manage different data. This differentdata is described herein both above and below with reference to otherfigures.

FIG. 21 is a diagram that illustrates exemplary data obtained and/ormaintained by the battery pack controllers 414 of battery packs 302. Asshown in FIG. 21, this data includes: the SOC of the battery pack aswell as the SOC of each cell; the voltage of the battery pack as well asthe voltage of each cell; the average temperature of the battery pack aswell as the temperature of each cell; the AH dischargeable of thebattery pack as well as each cell; the WH dischargeable of the batterypack as well as each cell; the capacity of the battery pack as well aseach cell; information about the last calibration discharge of thebattery pack; information about the last calibration charge of thebattery pack, information about the AH and WI-I efficiency of thebattery pack and each cell; and self discharge information.

FIGS. 22A and 23B are diagrams that illustrate exemplary data obtainedand/or maintained by embedded CPU 802 in an embodiment of electricalenergy storage unit 900 according to the disclosure. As shown in FIGS.22A-B, this data includes: SOC information about battery 1102 and eachbattery pack 302; voltage information about battery 1102 and eachbattery pack 302; temperature information about battery 1102 and eachbattery pack 302; AH dischargeable information about battery 1102 andeach battery pack 302; WH dischargeable information about battery 1102and each battery pack 302; capacity information about battery 1102 andeach battery pack 302; information about the last calibration dischargeof battery 1102 and each battery pack 302; information about the lastcalibration charge of battery 1102 and each battery pack 302,information about the AH and WH efficiency of battery 1102 and eachbattery pack 302; and self discharge information.

In addition to the data identified in FIGS. 22A and 23B, embedded CPU802 also obtains and maintains data related to the health or cycle lifeof battery 1102. This data is identified in FIGS. 23A and 23B.

In an embodiment, the data shown in FIGS. 23A and 23B represents anumber of charge and discharge counts (i.e., counter values), which workas follows. Assume for example that the battery is initially at 90%capacity, and it is discharged down to 10% of its capacity. Thisdischarge represents an 80% capacity discharge, in which the endingdischarge state is 10% of capacity. Thus, for this discharge, thedischarge counter represented by a battery SOC after discharge of10-24%, and which resulted from a 76-90% battery capacity discharge(i.e., the counter in FIG. 23B having a value of 75), would beincremented. In a similar manner, after each charge evolution ordischarge evolution of the battery, embedded CPU 802 determines theappropriate counter to increment and increments it. A procedureimplemented in software adds the values of the counts, using differentweights for different counter values, to determine an effectivecycle-life for the battery. For purposes of the disclosure, theexemplary counters identified in FIGS. 23A and 23B are intended to beillustrative and not limiting.

FIGS. 24A-B are diagrams that illustrate how calibration, charging anddischarging evolutions of an electrical energy storage unit arecontrolled according to an embodiment of the disclosure. As describedherein, the battery of an electrical energy storage unit is managedbased on both battery cell voltage levels and battery cellstate-of-charge (SOC) levels.

As shown in FIG. 24A and described below, four high voltage values 2402(i.e., V_(H2), V_(H3), and V_(H4)) and four high state-of-charge values2406 (i.e., SOC_(H1), SOC_(H2), SOC_(H3), and SOC_(H4)) are used tocontrol charging evolution. Four low voltage values 2404 (i.e., V_(L1),V_(L2), V_(L3), and V_(L4)) and four low state-of-charge values 2408(i.e., SOC_(L1), SOC_(L2), SOC_(L3), and SOC_(L4)) are used to controldischarging evolution. In embodiments of the disclosure, as shown inFIG. 24A, the voltages 2410 a for a particular set of battery cells(represented by X's in FIG. 24A) can all be below a value of V_(H1)while the SOC values 2410 b for some or all of these cells is at orabove a value of SOC_(H1). Similarly, as shown in FIG. 24B, the voltages2410 c for a set of battery cells (represented by X's in FIG. 24B) canall be above a value of V_(L1) while the SOC values 2410 d for some orall of these cells is at or below a value of SOC_(L1). Therefore, asdescribed in more detail below, all eight voltage values and all eightSOC values are useful, as described herein, for managing the battery ofan electrical energy storage unit according to the disclosure.

Because, as described herein, cell voltage values and cell SOC valuesare important to the proper operation of an electrical energy storageunit according to the disclosure, it is necessary to periodicallycalibrate the unit so that it is properly determining the voltage levelsand the SOC levels of the battery cells. This is done using acalibration procedure implemented in software.

The calibration procedure is initially executed when a new electricalenergy storage unit is first put into service. Ideally, all the cells ofthe electrical energy storage unit battery should be at about the sameSOC (e.g., 50%) when the battery cells are first installed in theelectrical energy storage unit. This requirement is to minimize theamount of time needed to complete the initial calibration procedure.Thereafter, the calibration procedure is executed whenever one of thefollowing recalibration triggering criteria is satisfied: Criteria 1: aprogrammable recalibration time interval such as, for example six monthshave elapsed since the last calibration date; Criteria 2: the batterycells have been charged and discharged (i.e., cycled) a programmablenumber of weighted charge and discharge cycles such as, for example, theweighted equivalent of 150 full charge and full discharge cycles;Criteria 3: the high SOC cell and the low SOC cell of the electricalenergy storage unit battery differ by more than a programmable SOCpercentage such as, for example 2-5% after attempting to balance thebattery cells; Criteria 4: during battery charging, a situation isdetected where one cell reaches a value of V_(H4) while one or morecells are at a voltage of less than V_(H1) (see FIG. 24A), and thissituation cannot be corrected by cell balancing; Criteria 5: duringbattery discharging, a situation is detected where one cell reachesV_(L4) while one or more cells are at a voltage of greater than V_(L1),and this situation cannot be corrected by cell balancing.

When one of the above recalibration trigger criteria is satisfied, abattery recalibration flag is set by embedded CPU 802. The first batterycharge performed after the battery recalibration flag is set is a chargeevolution that fully charges all the cells of the battery. The purposeof this charge is to put all the cells of the battery into a known fullcharge state. After the battery cells are in this known full chargestate, the immediately following battery discharge is called acalibration discharge. The purpose of the calibration discharge is todetermine how many dischargeable ampere-hours of charge are stored ineach cell of the battery and how much dischargeable energy is stored ineach cell of the battery when fully charged. The battery chargeconducted after the calibration discharge is called a calibrationcharge. The purpose of the calibration charge is to determine how manyampere-hours of charge must be supplied to each battery cell and howmany watt-hours of energy must be supplied to each battery cellfollowing a calibration discharge to get all the cells back to theirknown conditions at the end of the full charge. The values determinedduring implementation of this calibration procedure are stored byembedded CPU 802 and used to determine the SOC of the battery cellsduring normal operation of the electrical energy storage unit.

In an embodiment, the first charge after the battery recalibration flagis set is performed as follows. Step 1: Charge the cells of the batteryat a constant current rate of CAL-I until the first cell of the batteryreaches a voltage of V_(H2). Step 2: Once the first cell of the batteryreaches a voltage of V_(H2), reduce the battery cell charging current toa value called END-CHG-I, and resume charging the battery cells. Step 3:Continue charging the battery cells at the END-CHG-I current until allcells of the battery have obtained a voltage value between V_(H3) andV_(H4). Step 4: If during Step 3, any cell reaches a voltage of V_(H4):(a) Stop charging the cells; (b) Discharge, for example, using balancingresistors all battery cells having a voltage greater than V_(H3) untilthese cells have a voltage of V_(H3); (c) Once all cell voltages are ator below V_(H3), start charging the battery cells again at the END-CHG-Icurrent; and (d) Loop back to Step 3. This procedure when implementedcharges all of the cells of the battery to a known state-of-chargecalled SOC_(H3) (e.g., an SOC of about 98%). In embodiments, the chargerate (CAL-I) should be about 0.3 C and the END-CHG-I current should beabout 0.02 to 0.05 C.

As noted above, the first discharge following the above charge is acalibration discharge. In embodiments, the calibration discharge isperformed as follows. Step 1: Discharge the cells of the battery at aconstant current rate of CAL-I until the first cell of the batteryreaches a voltage of V_(L2). Step 2: Once the first cell of the batteryreaches a voltage of V_(L2), reduce the battery cell discharging currentto a value called END-DISCHG-I (e.g., about 0.02-0.05 C), and resumedischarging the battery cells. Step 3: Continue discharging the batterycells at the END-DISCHG-I current until all cells of the battery haveobtained a voltage value between V_(L3) and V_(L4). Step 4: If duringStep 3, any cell reaches a voltage of V_(L4): (a) Stop discharging thecells; and (b) Discharge, for example using the balancing resistors allbattery cells having a voltage greater than V_(L3) until these cellshave a voltage of V_(L3). At the end of the calibration discharge,determine the ampere-hours discharged by each cell and the watt-hoursdischarged by each cell, and record these values as indicated by FIGS.21, 22A, and 22B. As described herein, the purpose of the calibrationdischarge is to determine how many dischargeable ampere-hours of chargeare stored in each battery cell and how much dischargeable energy isstored in each battery cell when fully charged.

Following the calibration discharge, the next charge that is performedis called a calibration charge. The purpose of the calibration charge isto determine how many ampere-hours of charge must be supplied to eachbattery cell and how many watt-hours of energy must be supplied to eachbattery cell following a calibration discharge to get all the cells backto a fill charge. This procedure works as follows: Step 1: Charge thecells of the battery at a constant current rate of CAL-I until the firstcell of the battery reaches a voltage of V_(H2); Step 2: Once the firstcell of the battery reaches a voltage of V_(H2), reduce the battery cellcharging current to a value called END-CHG-I, and resume charging thebattery cells. Step 3: Continue charging the battery cells at theEND-CHG-I current until all cells of the battery have obtained a voltagevalue between V_(H3) and V_(H4). Step 4: If during Step 3, any cellreaches a voltage of V_(H4): (a) Stop charging the cells; (b) Discharge,for example, using the balancing resistors all battery cells having avoltage greater than V_(H3) until these cells have a voltage of V_(H3);(c) Once all cell voltages are at or below V_(H3), start charging thebattery cells again at the END-CHG-I current; and (d) Loop back to Step3. At the end of the calibration charge, the determined ampere-hoursneeded to recharge each battery cell and the determined watt-hoursneeded to recharge each battery cell are recorded as indicated by FIGS.21, 22A, and 22B. By comparing the calibration charge information to thecalibration discharge information, one can determine both the AHefficiency and the WH efficiency of the electrical energy storage unit.

In embodiments of the disclosure, when the battery of the electricalenergy storage unit is charged during normal operations, it is chargedusing the follow charge procedure. Step 1: Receive a command specifyingdetails for charging the electrical energy storage unit battery from anauthorized user or the application program running on embedded CPU 802.This message can specify, for example, a charging current (CHG-I), acharging power (CHG-P), or an SOC value to which the battery should becharged. The command also can specify a charge start time, a charge stoptime, or a charge duration time. Step 2: After receipt of the command,the command is verified, and a charge evolution is scheduled accordingto the specified criteria. Step 3: At the appropriate time, theelectrical energy storage unit battery is charged according to thespecified criteria so long as no battery cell reaches an SOC greaterthan SOC_(H2) and no battery cell reaches a voltage of V_(H2). Step 4:If during the charge, a cell of the battery reaches a state-of-charge ofSOC_(H2) or a voltage of V_(H2), the charging rate is reduced to a rateno greater than END-CHG-I, and in an embodiment the balancing resistorfor the cell is employed (i.e., the balancing resistor's switch isclosed) to limit the rate at which the cell is charged. Step 5: Afterthe charging rate is reduced in Step 4, the charging of the batterycells continues at the reduced charging rate until all cells of thebattery have obtained an SOC of at least SOC_(H1) or a voltage valuebetween V_(H1) and V_(H3). As battery cells obtain a value of SOC_(H0)or V_(H2), their balancing resistors are employed to reduce their rateof charge. Step 6: If during Step 5, any cell reaches a state-of-chargeof SOC_(H3) or a voltage of V_(H3): (a) The charging of the batterycells is stopped; (b) After the charging is stopped, all battery cellshaving a state-of-charge greater than SOC_(H2) or a voltage greater thanV_(H2) are discharged using the balancing resistors until these cellshave a state-of-charge of SOC_(H2) or a voltage of V_(H2), (c) Once allcell voltages are at or below SOC_(H2) and V_(H2), start charging thebattery cells again at the END-CHG-I current; and (d) Loop back to Step3.

In embodiments, at the end of the charge procedure described above, therecalibration criteria are checked to determine whether the calibrationprocedure should be implemented. If any of the calibration triggeringcriteria is satisfied, then the recalibration flag is set by embeddedCPU 802.

In embodiments of the disclosure, when the battery of the electricalenergy storage unit is discharged during normal operations, it isdischarged using the follow charge procedure. Step 1: Receive a commandspecifying details for discharging the electrical energy storage unitbattery. This command can specify, for example, a discharging current(DISCHG-1), a discharging power (DISCHG-P), or an SOC value to which thebattery should be discharged. The command also can specify a dischargestart time, a discharge stop time, or a discharge duration time. Step 2:After receipt of the command, the command is verified, and a dischargeevolution is scheduled according to the specified criteria. Step 3: Atthe appropriate time, the electrical energy storage unit battery isdischarged according to the specified criteria so long as no batterycell reaches an SOC less than SOC_(L2) and no battery cell reaches avoltage of V_(L2). Step 4: If during the discharge, a cell of thebattery reaches a state-of-charge of SOC_(L2) or a voltage of V_(L2),the discharging rate is reduced to a rate no greater than END-DTSCHG-I,and the balancing resistor for the cell is employed (i.e., the balancingresistor's switch is closed) to limit the rate at which the cell isdischarged. Step 5: After the discharging rate is reduced in Step 4, thedischarging of the battery cells continues at the reduced dischargingrate until all cells of the battery have obtained an SOC of at leastSOC_(L1) or a voltage value between V_(L1) and V_(L3). Step 6: If duringStep 5, any cell reaches a state-of-charge of SOC_(L3) or a voltage ofV_(L3): (a) The discharging of the battery cells is stopped; (b) Afterthe discharging is stopped, all battery cells having a state-of-chargegreater than SOC_(L1) or a voltage greater than V_(L1) are dischargedusing the balancing resistors until these cells have a state-of-chargeof SOC_(L1) or a voltage of V_(L1); (c) Once all cell voltages are at orbelow SOC_(L1) or V_(L1), all balancing switches are opened and thedischarge of the battery cells is stopped.

At the end of the discharge procedure, the battery recalibrationcriteria are checked to determine whether the calibration procedureshould be implemented. If any of the calibration triggering criteria issatisfied, then the battery recalibration flag is set by embedded CPU802.

As described herein, embedded CPU 802 and the battery packs 302continuously monitor the voltage levels and SOC levels of all the cellsof the ESU battery. If at any time a cell's voltage or a cell's SOCexceeds or falls below a specified voltage or SOC safety value (e.g.,V_(H4), SOC_(H4), V_(L4), or SOC_(L4)), embedded CPU 802 immediatelystops whatever operation is currently being executed and starts, asappropriate, an over-charge prevention or an over-discharge preventionprocedure as described below.

An over-charge prevention procedure is implemented, for example, anytime embedded CPU 802 detects a battery cell having a voltage greaterthan V_(H4) or a state-of-charge greater than SOC_(H4). In embodiments,when the over-charge prevention procedure is implemented, it turns-on agrid-connected inverter (if available) and discharges the battery cellsat a current rate called OCP-DISCHG-I (e.g., 5 Amps) until all cells ofthe battery are at or below a state-of-charge level of SOC_(H3) and ator below a voltage level of V_(H3). If no grid connected inverter isavailable to discharge the battery cells, then balancing resistors areused to discharge any cell having a state-of-charge level greater thanSOC_(H3) or a voltage level greater than V_(H3) until all cells are at astate-of-charge level less than or equal to SOC_(H3) and a voltage levelless than or equal to V_(H3).

If during operation, embedded CPU 802 detects a battery cell having avoltage less than V_(L4) or a state-of-charge less than SOC_(L4),embedded CPU 802 will immediately stop the currently executing operationand start implementing an over-discharge prevention procedure. Theover-discharge prevention procedure turns-on a charger (if available)and charges the batteries at a current rate called ODP-CHG-I (e.g., 5Amps) until all cells of the battery are at or above a state-of-chargelevel of SOC_(L3) and at or above a voltage level of V_(L3). If nocharger is available to charge the battery cells, then the individualbattery pack balancing chargers are used to charge any cell having astate-of-charge level lower than SOC_(L3) or a voltage level lower thanV_(L3) until all cells are at a state-of-charge level greater than orequal to SOC_(L3) and a voltage level greater than or equal to V_(L3).

As described herein, one of the functions of the battery packs 302 is tocontrol the voltage balance and the SOC balance of its battery cells.This is achieved using a procedure implemented in software. In anembodiment, this procedure is as follows. Embedded CPU 802 monitors andmaintains copies of the voltage and SOC information transmitted by thebattery packs 302. The information is used by embedded CPU 802 tocalculate target SOC values and/or target voltage values that arecommunicated to the battery packs 302. The battery packs 302 then try tomatch the communicated target values to within a specified tolerancerange. As described above, this is accomplished by the battery packs 302by using, for example, balancing resistors or energy transfer circuitelements and balancing chargers.

In order to more fully understand how balancing is achieved inaccordance with embodiments of the disclosure, consider the situationrepresented by the battery cell voltage values or cell SOC values 2502 adepicted in the top half of FIG. 25. The cells 2504 of battery pack 1(BP-1) are closely centered about a value V/SOC₂. The cells 2506 ofbattery pack 2 (BP-2) are loosely centered about a value between V/SOC₂and V/SOC₃. The cells 2508 of battery pack 3 (BP-3) are closely centeredabout a value V/SOC₁. The cells 2510 of battery pack 4 (BP-4) areclosely centered about a value between V/SOC₂ and V/SOC₃. Assuming thetargeted value communicated to the battery packs by embedded CPU 802 isthat shown in the bottom half of FIG. 25 (i.e., a value between V/SOC₂and V/SOC₃), the following actions can be taken by the battery packs toachieve this targeted value. For battery pack 1, the battery pack'sbalancing charger (e.g., AC balancing charger 416) can be turned-on toadd charge to cells 2504 and thereby increase their values from theshown in the top half of FIG. 25 to that shown in the bottom half ofFIG. 25. For battery pack 2, the battery pack's balancing charger can beturned-on to add charge to cells 2506 while at the same time closingbalancing resistors associated with certain high value cells (thereby bypassing charging current), and then turning-off the balancing chargerwhile still leaving some of the balancing resistors closed to dischargeenergy from the highest value cells until the cells 2506 achieve thestate shown in the bottom half of FIG. 25. For battery pack 3, thebattery pack's balancing charger can be turned-on to add charge to cells2508 while at the same time closing balancing resistors associated withcertain high value cells (thereby by passing charging current) until thecells 2508 achieve the state shown in the bottom half of FIG. 25. Forbattery pack 4, no balancing is required because the cells 2510 alreadyconform to the targeted value.

FIGS. 26A, 26B, 26C, and 26D are diagrams illustrating another examplebattery pack 2600 according to an embodiment of the disclosure.Specifically, FIGS. 26A and 26B depict front views of battery pack 2600,FIG. 26C depicts an exploded view of battery pack 2600, and FIG. 26Ddepicts a front and side view of battery pack 2600. As shown in FIGS.26A-D, the housing of battery pack 2600 may include a front panel 2602,a lid or cover 2612, a back panel 2616, and a bottom 2618. The lid 2612,which includes left and right side portions, may include a plurality ofair vents to facilitate air flow through battery pack 2600 and aid incooling the internal components of battery pack 2600. In a non-limitingembodiment, the lid 2612 is “U”-shaped and may be fabricated from asingle piece of metal, plastic, or any other material known to one ofordinary skill in the art. The battery packs of FIGS. 48A-48B (below)may be implemented as described in accordance with battery pack 2600 ofFIGS. 26A-26D.

The housing of battery pack 2600 may be assembled using fasteners 2628shown in FIG. 26C, which may be screws and bolts or any other fastenerknown to one of ordinary skill in the art. The housing of battery pack2600 may also include front handles 2610 and back handles 2614. As shownin FIG. 26C, front plate 2602 may be coupled to lid 2612 and bottom 2618via front panel mount 2620. In one embodiment, battery pack 2600 isimplemented as a rack-mountable equipment module. For example, batterypack 2600 may be implemented as a standard 19-inch rack (e.g., frontpanel 2602 having a width of 19 inches, and battery pack 2600 having adepth of between 22 and 24 inches and a height of 4 rack units or “U,”where U is a standard unit that is equal to 1.752 inches). As shown inFIG. 26C, battery pack 2600 may include one or more mounts 2622 attachedto bottom 2618. Mount 2622 may be used to secure battery pack 2600 in arack in order to arrange a plurality of battery packs in a stackedconfiguration (shown in BESS 4700 of FIG. 47 below).

In FIGS. 26A-26D, battery pack 2600 includes a power connector 2604 thatmay be connected to the negative terminal of the battery pack and apower connector 2606 that may be connected to a positive terminal of thebattery pack. In other embodiments, the power connector 2604 may be usedto connect to a positive terminal of the battery pack, and powerconnector 2606 may be used to connect to a negative terminal of thebattery pack. As shown in FIGS. 26A and 26B, the power connectors 2604and 2606 may be provided on the front plate or panel 2602 of batterypack 2600. Power cables (not shown) may be attached to the powerconnectors 2604 and 2606 and used to add or remove energy from batterypack 2600.

The front panel 2602 of battery pack 2600 may also include a statuslight and reset button 2608. In one embodiment, status button 2608 is apush button that can be depressed to reset or restart battery pack 2600.In one embodiment, the outer ring around the center of button 2608 maybe illuminated to indicate the operating status of battery pack 2600.The illumination may be generated by a light source, such as one or morelight emitting diodes, that is coupled to or part of the status button2608. In this embodiment, different color illumination may indicatedifferent operating states of the battery pack. For example, constant orsteady green light may indicate that battery pack 2600 is in a normaloperating state; flashing or strobing green light may indicate thatbattery pack 2600 is in a normal operating state and that battery pack2600 is currently balancing the batteries; constant or steady yellowlight may indicate a warning or that battery pack 2600 is in an errorstate; flashing or strobing yellow light may indicate a warning or thatbattery pack 2600 is in an error state and that battery pack 2600 iscurrently balancing the batteries; constant or steady red light mayindicate that the battery pack 2600 is in an alarm state; flashing orstrobing red light may indicate that battery pack 2600 needs to bereplaced; and no light emitted from the status light may indicate thatbattery pack 2600 has no power and/or needs to be replaced. In someembodiments, when the status light emits red light (steady or flashing)or no light, connectors in battery pack 2600 or in an externalcontroller are automatically opened to prevent charging or dischargingof the batteries. As would be apparent to one of ordinary skill in theart, any color, strobing technique, etc., of illumination to indicatethe operating status of battery pack 2600 is within the scope of thisdisclosure.

Turning to FIGS. 26C-26D, example components that are disposed insidethe housing of battery pack 2600 are shown, including (but not limitedto) balancing charger 2632, battery pack controller (BPC) 2634, andbattery module controller (BMC) 2638. Balancing charger 2632 may be apower supply, such as a DC power supply, and may provide energy to allof the battery cells in a battery pack. In an embodiment, balancingcharger 2632 may provide energy to all of the battery cells in thebattery pack at the same time. BMC 2638 is coupled to battery module2636 and may selectively discharge energy from the battery cells thatare included in battery module 2636, as well as take measurements (e.g.,voltage and temperature) of battery module 2636. BPC 2634 may controlbalancing charger 2632 and BMC 2638 to balance or adjust the voltageand/or state of charge of a battery module to a target voltage and/orstate of charge value.

As shown, battery pack 2600 includes a plurality of battery modules anda BMC (e.g., battery module controller 2638) is coupled to each batterymodule (e.g., battery module 2636). In one embodiment, which isdescribed in more detail below, n BMCs (where n is greater than or equalto 2) can be daisy-chained together and coupled to a BPC to form asingle-wire communication network. In this example arrangement, each BMCmay have a unique address and the BPC may communicate with each of theBMCs by addressing one or more messages to the unique address of anydesired BMC. The one or more messages (which include the unique addressof the BMC) may include an instruction, for example, to remove energyfrom a battery module, to stop removing energy from a battery module, tomeasure and report the temperature of the battery module, and to measureand report the voltage of the battery module. In one embodiment, BPC2634 may obtain measurements (e.g., temperature, voltage) from each ofthe BMCs using a polling technique. BPC 2634 may calculate or receive(e.g., from a controller outside of battery pack 2600) a target voltagefor battery pack 2600, and may use the balancing charger 2632 and thenetwork of BMCs to adjust each of the battery modules to the targetvoltage. Thus, battery pack 2600 may be considered a smart battery pack,able to self-adjust its battery cells to a target voltage.

The electrical wiring that connects various components of battery pack2600 has been omitted from FIG. 26C to enhance viewability. However,FIG. 26D illustrates example wiring in battery pack 2600. In theillustrated embodiment, balancing charger 2632 and battery packcontroller 2634 may be connected to or mounted on the bottom 2618. Whileshown as mounted on the left side of battery pack 2600, balancingcharger 2632 and battery pack controller 2634, as well as all othercomponents disposed in battery pack 2600, may be disposed at anylocation within battery pack 2600.

Battery module 2636 includes a plurality of battery cells. Any number ofbattery cells may be included in battery module 2636. Example batterycells include, but are not limited to, Li ion battery cells, such as18650 or 26650 battery cells. The battery cells may be cylindricalbattery cells, prismatic battery cells, or pouch battery cells, to namea few examples. The battery cells or battery modules may be, forexample, up to 100 AH battery cells or battery modules. In someembodiments, the battery cells are connected in series/parallelconfiguration. Example battery cell configurations include, but are notlimited to, 1P16S configuration, 2P16S configuration, 3P16Sconfiguration, 4P16S configuration, 1P12S configuration, 2P12Sconfiguration, 3P12S configuration, and 4P12S configuration. Otherconfigurations known to one of ordinary skill in the art are within thescope of this disclosure. Battery module 2636 includes positive andnegative terminals for adding energy to and removing energy from theplurality of battery cells included therein.

As shown in FIG. 26C, battery pack 2600 includes 12 battery modules thatform a battery assembly. In another embodiment, battery pack 2600 mayinclude 16 battery modules that form a battery assembly. In otherembodiments, battery pack 2600 may include 20 battery modules or 25battery modules that form a battery assembly. As would be apparent toone of ordinary skill in the art, any number of battery modules may beconnected to form the battery assembly of battery pack 2600. In batterypack 2600, the battery modules that are arranged as a battery assemblymay be arranged in a series configuration.

In FIG. 26C, battery module controller 2638 is coupled to battery module2636. Battery module controller 2638 may be couple to the positive andnegative terminals of battery module 2636. Battery module controller2638 may be configured to perform one, some, or all of the followingfunctions: remove energy from battery module 2636, measure the voltageof battery module 2636, and measure the temperature of battery module2636. As would be understood by one of ordinary skill in the art,battery module controller 2638 is not limited to performing thefunctions just described. In one embodiment, battery module controller2638 is implemented as one or more circuits disposed on a printedcircuit board. In battery pack 2600, one battery module controller iscoupled to or mounted on each of the battery modules in battery pack2600. Additionally, each battery module controller may be coupled to oneor more adjacent battery module controllers via wiring to form acommunication network. As illustrated in FIG. 27A, n battery modulecontrollers (where n is a whole number greater than or equal to two) maybe daisy-chained together and coupled to a battery pack controller toform a communication network.

FIG. 27A is a diagram illustrating an example communication network 2700formed by a battery pack controller and a plurality of battery modulecontrollers according to an embodiment of the disclosure. In FIG. 27A,battery pack controller (BPC) 2710 is coupled to n battery modulecontrollers (BMCs) 2720, 2730, 2740, 2750, and 2760. Said another way, nbattery module controllers (where n is a whole number greater than orequal to two) are daisy-chained together and coupled to battery packcontroller 2710 to form communication network 2700, which may bereferred to as a distributed, daisy-chained battery management system(BMS). Specifically, BPC 2710 is coupled to BMC 2720 via communicationwire 2715, BMC 2720 is coupled to BMC 2730 via communication wire 2725,BMC 2730 is coupled to BMC 2740 via communication wire 2735, and BMC2750 is coupled to BMC 2760 via communication wire 2755 to form thecommunication network. Each communication wire 2715, 2725, 2735, and2755 may be a single wire, forming a single-wire communication networkthat allows the BPC 2710 to communicate with each of the BMCs 2720-2760,and vice versa. As would be apparent to one of skill in the art, anynumber of BMCs may be daisy chained together in communication network2700.

Each BMC in the communication network 2700 may have a unique addressthat BPC 2710 uses to communicate with individual BMCs. For example, BMC2720 may have an address of 0002, BMC 2730 may have an address of 0003,BMC 2740 may have an address of 0004, BMC 2750 may have an address of0005, and BMC 2760 may have an address of 0006. BPC 2710 may communicatewith each of the BMCs by addressing one or more messages to the uniqueaddress of any desired BMC. The one or more messages (which include theunique address of the BMC) may include an instruction, for example, toremove energy from a battery module, to stop removing energy from abattery module, to measure and report the temperature of the batterymodule, and to measure and report the voltage of the battery module. BPC2710 may poll the BMCs to obtain measurements related to the batterymodules of the battery pack, such as voltage and temperaturemeasurements. Any polling technique known to one of skill in the art maybe used. In some embodiments, BPC 2710 continuously polls the BMCs formeasurements in order to continuously monitor the voltage andtemperature of the battery modules in the battery pack.

For example, BPC 2710 may seek to communicate with BMC 2740, e.g., inorder to obtain temperature and voltage measurements of the batterymodule that BMC 2740 is mounted on. In this example, BPC 2710 generatesand sends a message (or instruction) addressed to BMC 2740 (e.g.,address 0004). The other BMCs in the communication network 2700 maydecode the address of the message sent by BPC 2710, but only the BMC (inthis example, BMC 2740) having the unique address of the message mayrespond. In this example, BMC 2740 receives the message from BPC 2710(e.g., the message traverses communication wires 2715, 2725, and 2735 toreach BMC 2740), and generates and sends a response to BPC 2710 via thesingle-wire communication network (e.g., the response traversescommunication wires 2735, 2725, and 2715 to reach BPC 2710). BPC 2710may receive the response and instruct BMC 2740 to perform a function(e.g., remove energy from the battery module it is mounted on). In otherembodiments, other types of communication networks (other thancommunication network 2700) may be used, such as, for example, an RS232or RS485 communication network.

FIG. 27B is a flow diagram illustrating an example method 27000 forreceiving instructions at a battery module controller, such as thebattery module controller 2638 of FIG. 26C or the battery modulecontroller 2720 of FIG. 27A. The battery module controller describedwith respect to FIG. 27B may be included in a communication network thatincludes more than one isolated, distributed, daisy-chained batterymodule controllers, such as the communication network 2700 of FIG. 27A.

The method 27000 of FIG. 7B may be implemented as software or firmwarethat is executable by a processor. That is, each stage of the method27000 may be implemented as one or more computer-readable instructionsstored on a non-transient computer-readable storage device, which whenexecuted by a processor causes the processor to perform one or moreoperations. For example, the method 27000 may be implemented as one ormore computer-readable instructions that are stored in and executed by aprocessor of a battery module controller (e.g., battery pack modulecontroller 2638 of FIG. 26C or battery module controller 2720 of FIG.7A) that is mounted on a battery module (e.g., battery module 2636 ofFIG. 26C) in a battery pack (e.g., battery pack 2600 of FIGS. 26A-26D).

As the description of FIG. 7B refers to components of a battery pack,for the sake of clarity, the components enumerated in an exampleembodiment of battery pack 2600 of FIGS. 26A-26D and examplecommunication network 2700 of FIG. 27A are used to refer to specificcomponents when describing different stages of the method 27000 of FIG.27B. However, battery pack 2600 of FIGS. 26A-26D and communicationnetwork 2700 of FIG. 27A are merely examples, and the method 27000 maybe implemented using embodiments of a battery pack other than theexample embodiment depicted in FIGS. 26A-26D and a communication network2700 other than the example embodiment depicted in FIG. 27A.

Upon starting (stage 27100), the method 27000 proceeds to stage 27200where the battery module controller receives a message. For example, abattery pack controller may communicate with the network ofdaisy-chained battery module controllers (e.g., FIG. 27A) in order tobalance the batteries in a battery pack (e.g., battery pack 2600 ofFIGS. 26A-26D). The message may be received via a communication wire(e.g., communication wire 2715 of FIG. 27A) at a communication terminalof the battery module controller. This communication may include (but isnot limited to) instructing the network of battery module controllers toprovide voltage and/or temperature measurements of the battery modulesthat they are respectively mounted on, and instructing the batterymodules controllers to remove energy from or stop removing energy fromthe battery modules that they are respectively mounted on.

As discussed with respect to FIG. 27A, each battery module controller(e.g., BMC 2720 of FIG. 27A) in a communication network (e.g.,communication network 2700 of FIG. 27A) may have a unique address that abattery pack controller (e.g., BPC 2710 of FIG. 27A) uses to communicatewith the battery module controllers. Thus, the message that is receivedat stage 27200 may include an address of the battery module controllerthat it is intended for and an instruction to be executed by thatbattery module controller. At stage 27300, the battery module controllerdetermines whether the address included in the message matches thebattery module controller's unique address. If the addresses do notmatch, the method 27000 returns to stage 27200 and the battery modulecontroller waits for a new message. That is, the battery modulecontroller ignores the instruction associated with the message inresponse to determining that the address associated with the messagedoes not match the unique address of the battery module controller. Ifthe addresses do match, the method 27000 advances to stage 27400.

In stage 27400, the battery module controller decodes the instructionthat is included in the message and the method 27000 advances to stage27500. In stage 27500, the battery module controller performs theinstruction. Again, the instruction may be (but is not limited to)measure and report the temperature of the battery module, measure andreport the voltage of the battery module, remove energy from the batterymodule (e.g., apply one or more shunt resistors across the terminals ofthe battery module), stop removing energy from the battery module (e.g.,stop applying the one or more shunt resistors across the terminals ofthe battery module), or calibrate voltage measurements before measuringthe voltage of the battery module. In various embodiments, temperatureand voltage measurements may be sent as actual temperature and voltagevalues, or as encoded data that may be decoded after reporting themeasurement. After stage 27500, the method 27000 loops back to stage27200 and the battery module controller waits for a new message.

FIG. 28 is a diagram illustrating another example battery packcontroller 2800 according to an embodiment of the disclosure. Batterypack controller 2634 of FIGS. 26C and 26D may be implemented asdescribed in accordance with battery pack controller 2800 of FIG. 28.Battery pack controller 2710 of FIG. 27A may be implemented as describedin accordance with battery pack controller 2800 of FIG. 28.

As shown in FIG. 28, the example battery pack controller 2800 includes aDC input 2802 (which may be an isolated 5V DC input), a chargerswitching circuit 2804, a DIP-switch 2806, a JTAG connection 2808, a CAN(CANBus) connection 2810, a microprocessor unit (MCU) 2812, memory 2814,an external EEPROM 2816, a temperature monitoring circuit 2818, a statuslight and reset button 2820, a watchdog timer 2822, and a battery modulecontroller (BMC) communication connection 2824.

In one embodiment, battery pack controller 2800 may be powered fromenergy stored in the battery cells. Battery pack controller 2800 may beconnected to the battery cells by DC input 2802. In other embodiments,battery pack controller 2800 may be powered from an AC to DC powersupply connected to DC input 2802. In these embodiments, a DC-DC powersupply may then convert the input DC power to one or more power levelsappropriate for operating the various electrical components of batterypack controller 2800.

In the example embodiment illustrated in FIG. 28, charger switchingcircuit 2804 is coupled to MCU 2812. Charger switching circuit 2804 andMCU 2812 may be used to control operation of a balancing charger, suchas balancing charger 2632 of FIG. 26C. As described above, a balancingcharger may add energy to the battery cells of the battery pack. In anembodiment, temperature monitoring circuit 2818 includes one or moretemperature sensors that can monitor the temperature heat sources withinthe battery pack, such as the temperature of the balancing charger thatis used to add energy to the battery cells of the battery pack.

Battery pack controller 2800 may also include several interfaces and/orconnectors for communicating. These interfaces and/or connectors may becoupled to MCU 2812 as shown in FIG. 28. In one embodiment, theseinterfaces and/or connectors include: DIP-switch 2806, which may be usedto set a portion of software bits used to identify battery packcontroller 2800; JTAG connection 2808, which may be used for testing anddebugging battery pack controller 2800; CAN (CANBus) connection 2810,which may be used to communicate with a controller that is outside ofthe battery pack; and BMC communication connection 2824, which may beused to communicate with one or more battery module controllers, such asa distributed, daisy-chained network of battery module controllers(e.g., FIG. 27A). For example, battery pack controller 2800 may becoupled to a communication wire, e.g., communication wire 2715 of FIG.27A, via BMC communication connection 2824.

Battery pack controller 2800 also includes an external EEPROM 2816.External EEPROM 2816 may store values, measurements, etc., for thebattery pack. These values, measurements, etc., may persist when powerof the battery pack is turned off (i.e., will not be lost due to loss ofpower). External EEPROM 2816 may also store executable code orinstructions, such as executable code or instructions to operatemicroprocessor unit 2812.

Microprocessor unit (MCU) 2812 is coupled to memory 2814. MCU 2812 isused to execute an application program that manages the battery pack. Asdescribed herein, in an embodiment the application program may performthe following functions (but is not limited thereto): monitor thevoltage and temperature of the battery cells of battery pack 2600,balance the battery cells of battery pack 2600, monitor and control (ifneeded) the temperature of battery pack 2600, handle communicationsbetween the battery pack and other components of a battery energystorage system, and generate warnings and/or alarms, as well as takeother appropriate actions, to protect the battery cells of battery pack2600.

As described above, a battery pack controller may obtain temperature andvoltage measurements from battery module controllers. The temperaturereadings may be used to ensure that the battery cells are operatedwithin their specified temperature limits and to adjust temperaturerelated values calculated and/or used by the application programexecuting on MCU 2812. Similarly, the voltage readings are used, forexample, to ensure that the battery cells are operated within theirspecified voltage limits.

Watchdog timer 2822 is used to monitor and ensure the proper operationof battery pack controller 2800. In the event that an unrecoverableerror or unintended infinite software loop should occur during operationof battery pack controller 2800, watchdog timer 2822 can reset batterypack controller 2800 so that it resumes operating normally. Status lightand reset button 2820 may be used to manually reset operation of batterypack controller 2800. As shown in FIG. 28, status light and reset button2820 and watchdog timer 2822 may be coupled to MCU 2812.

FIG. 29 is a diagram illustrating an example battery module controller2900 according to an embodiment of the disclosure. Battery modulecontroller 2638 of FIGS. 26C and 26D may be implemented as described inaccordance with battery module controller 2900 of FIG. 29. Each ofbattery module controllers 2720, 2730, 2740, 2750, and 2760 of FIG. 27Amay be implemented as described in accordance with battery modulecontroller 2900 of FIG. 29. Battery module controller 2900 may bemounted on a battery module of a battery pack and may perform thefollowing functions (but is not limited thereto): measure the voltage ofthe battery module, measure the temperature of the battery module, andremove energy from (discharge) the battery module.

In FIG. 29, the battery module controller 2900 includes processor 2905,voltage reference 2910, one or more voltage test resistors 2915, powersupply 2920, fail safe circuit 2925, shunt switch 2930, one or moreshunt resistors 2935, polarity protection circuit 2940, isolationcircuit 2945, and communication wire 2950. Processor 2905 controls thebattery module controller 2900. Processor 2905 receives power from thebattery module that battery module controller 2900 is mounted on via thepower supply 2920. Power supply 2920 may be a DC power supply. As shownin FIG. 29, power supply 2920 is coupled to the positive terminal of thebattery module, and provides power to processor 2905. Processor 2905 isalso coupled to the negative terminal of the battery module via polarityprotection circuit 2940, which protects battery module controller 2900in the event that it is improperly mounted on a battery module (e.g.,the components of battery module controller 2900 that are coupled to thepositive terminal in FIG. 29 are improperly coupled to the negativeterminal and vice versa).

Battery module controller 2900 may communicate with other components ofa battery pack (e.g., a battery pack controller, such as battery packcontroller 2634 of FIG. 26C) via communication wire 2950, which may be asingle wire. As described with respect to the example communicationnetwork of FIG. 27A, communication wire 2950 may be used to daisy chainbattery module controller 2900 to a battery pack controller and/or oneor more other battery module controllers to form a communicationnetwork. Communication wire 2950 may be coupled to battery packcontroller 2900 via a communication terminal disposed on battery packcontroller 2900. As such, battery module controller 2900 may send andreceive messages (including instructions sent from a battery packcontroller) via communication wire 2950. When functioning as part of acommunication network, battery module controller 2900 may be assigned aunique network address, which may be stored in a memory device of theprocessor 2905.

Battery module controller 2900 may be electrically isolated from othercomponents that are coupled to the communication wire (e.g., batterypack controller, other battery module controllers, computing systemsexternal to the battery pack) via isolation circuit 2945. In theembodiment illustrated in FIG. 29, isolation circuit 2945 is disposedbetween communication wire 2950 and processor 2905. Again, communicationwire 2950 may be coupled to battery pack controller 2900 via acommunication terminal disposed on battery pack controller 2900. Thiscommunication terminal may be disposed between communication wire 2950and isolation circuit 2945, or may be part of isolation circuit 2945.Isolation circuit 2945 may capacitively couple processor 2905 tocommunication wire 2950, or may provide other forms of electricalisolation known to those of skill in the art.

As explained above, battery module controller 2900 may measure thevoltage of the battery module it is mounted on. As shown in FIG. 29,processor 2905 is coupled to voltage test resistor 2915, which iscoupled to the positive terminal of the battery module. Processor 2905may measure the voltage across voltage test resistor 2915, and comparethis measured voltage to voltage reference 2910 to determine the voltageof the battery module. As described with respect to FIG. 27A, batterymodule controller 2900 may be instructed to measure the voltage of thebattery module by a battery pack controller. After performing thevoltage measurement, processor 2905 may report the voltage measurementto a battery pack controller via communication wire 2950.

Battery module controller 2900 may also remove energy from the batterymodule that it is mounted on. As shown in FIG. 29, processor 2905 iscoupled to fail safe circuit 2925, which is coupled to shunt switch2930. Shunt switch 2930 is also coupled to the negative terminal viapolarity protection circuit 2940. Shunt resistor 2935 is disposedbetween the positive terminal of the battery module and shunt switch2930. In this embodiment, when shunt switch 2930 is open, shunt resistor2935 is not applied across the positive and negative terminals of thebattery module; and when shunt switch 2930 is closed, shunt resistor2935 is applied across the positive and negative terminals of thebattery module in order to remove energy from the battery module.Processor 2905 may instruct shunt switch 2930 to selectively apply shuntresistor 2935 across the positive and negative terminals of the batterymodule in order to remove energy from the battery module. In oneembodiment, processor 2905 instructs shunt switch 2930 at regularintervals (e.g., once every 30 seconds) to apply shunt resistor 2935 inorder to continuously discharge the battery module.

Fail safe circuit 2925 may prevent shunt switch 2930 from removing toomuch energy from the battery module. In the event that processor 2905malfunctions, fail safe circuit 2925 may instruct shunt switch 2930 tostop applying shunt resistor 2935 across the positive and negativeterminals of the battery module. For example, processor 2905 mayinstruct shunt switch 2930 at regular intervals (e.g., once every 30seconds) to apply shunt resistor 2935 in order to continuously dischargethe battery module. Fail safe circuit 2925, which is disposed betweenprocessor 2905 and shunt switch 2930, may monitor the instructionsprocessor 2905 sends to shunt switch 2930. In the event that processor2905 fails to send a scheduled instruction to the shunt switch 2930(which may be caused by a malfunction of processor 2905), fails safecircuit 2925 may instruct or cause shunt switch 2930 to open, preventingfurther discharge of the battery module. Processor 2905 may instructfail safe circuit 2925 to prevent shunt switch 2930 from discharging thebattery module below a threshold voltage or state-of-charge level, whichmay be stored or calculated in battery module controller 2900 or in anexternal controller (e.g., a battery pack controller).

Battery module controller 2900 of FIG. 29 also includes temperaturesensor 2955, which may measure the temperature of the battery modulethat battery module controller 2900 is connected to. As depicted in FIG.29, temperature sensor 2955 is coupled to processor 2905, and mayprovide temperature measurements to processor 2905. Any temperaturesensor known to those skilled in the art may be used to implementtemperature sensor 2955.

Example String Controller

FIG. 30 is a diagram illustrating an example string controller 3000.Specifically, FIG. 30 illustrates example components of a stringcontroller 3000. The example components depicted in FIG. 30 may be usedto implement the disclosed string controller 4804 of FIG. 48A. Stringcontroller 3000 includes a string control board 3024 that controls theoverall operation of string controller 3000. String control board 3024may be implemented as one or more circuits or integrated circuitsmounted on a printed circuit board (for example, string control board3130 of FIG. 31A). String control board 3024 may include or beimplemented as a processing unit, such as a microprocessor unit (MCU)3025, memory 3027, and executable code. Units 3026, 3028, 3030, 3032,and 3042 illustrated in string control board 3024 may be implemented inhardware, software, or a combination of hardware and software. Units3026, 3028, 3030, 3032, and 3042 may be individual circuits mounted on aprint circuit board or a single integrated circuit.

The functions performed by string controller 3000 may include, but arenot limited to, the following: issuing battery string contactor controlcommands, measuring battery string voltage; measuring battery stringcurrent; calculating battery string Amp-hour count; relaying queriesbetween a system controller (e.g., at charging station) and battery packcontrollers; processing query response messages; aggregating batterystring data; performing software device ID assignment to the batterypacks; detecting ground fault current in the battery string; and detectalarm and warning conditions and taking appropriate corrective actions.MCU 3025 may perform these functions by executing code that is stored inmemory 3027.

String controller 3000 includes battery string terminals 3002 and 3004for coupling to the positive and negative terminals, respectively, of abattery string (also referred to as a string of battery packs). Batterystring terminals 3002 and 3004 are coupled to voltage sense unit 3042 onstring control board 3024 that can be used to measure battery stringvoltage.

String controller 3000 also includes PCS terminals 3006 and 3008 forcoupling to the positive and negative terminals, respectively of a powercontrol system (PCS). As shown, positive battery string terminal 3002 iscoupled to positive PCS terminal 3006 via contactor 3016, and negativebattery string terminal 3004 is coupled to negative PCS terminal 3008via contactor 3018. String control board 3024 controls contactors 3016and 3018 (to open and close) via contactor control unit 3026 and 3030,respectively, allowing the battery string to provide energy to the PCS(discharging) or receive energy from the PCS (charging) when contractors3016 and 3018 are closed. Fuses 3012 and 3014 protect the battery stringfrom excessive current flow.

String controller 3000 also includes communication terminals 3010 and3012 for coupling to other devices. In an embodiment, communicationterminal 3010 may couple string controller 3000 to the battery packcontrollers of the battery string, allowing string controller 3000 toissue queries, instructions, and the like. For example, stringcontroller 3000 may issue an instruction used by the battery packs forcell balancing. In an embodiment, communication terminal 3012 may couplestring controller 3000 to an array controller, such as array controller4808 of FIG. 48A (below). Communication terminals 3010 and 3012 mayallow string controller 3000 to relay queries between an arraycontroller (e.g., array controller 4808 of FIG. 48A (below)) and batterypack controllers, aggregate battery string data, perform software deviceID assignment to the battery packs, detect alarm and warning conditionsand taking appropriate corrective actions, as well as other functions.In systems that do not include an array controller, the stringcontroller may be coupled to a system controller.

String controller 3000 includes power supply unit 3022. Power supply3120 of FIG. 31A may be implemented as described with respect to powersupply unit 3022 of FIG. 30. In this embodiment, power supply unit 3022can provide more than one DC supply voltage. For example, power supplyunit 3022 can provide one supply voltage to power string control board3024, and another supply voltage to operate contactors 3016 and 3018. Inan embodiment, a +5V DC supply may be used for string control board3022, and +12V DC may be used to close contactors 3016 and 3018.

String control board 3024 includes current sense unit 3028 whichreceives input from current sensor 3020, which may allow the stringcontroller to measure battery string current, calculate battery stringamp-hour count, as well as other functions. Additionally, current senseunit 3028 may provide an input for overcurrent protection. For example,if over-current (a current level higher than a pre-determined threshold)is sensed in current sensor 3020, current sensor unit 3028 may provide avalue to MCU 3025, which instructs contactor control units 3026 and 3030to open contactors 3016 and 3018, respectively, disconnecting batterystring from PCS. Again, fuses 3012 and 3014 may also provide overcurrentprotection, disconnecting battery sting from the PCS when a thresholdcurrent is exceeded.

String controller 3000 includes battery voltage and ground faultdetection (for example, battery voltage and ground fault detection 3110of FIG. 31A). Terminals 3038 and 3040 may couple string controller 3000to battery packs in the middle of battery pack string. For example, in astring of 22 battery packs, terminal 3038 may be connected to thenegative terminal of battery pack 11 and terminal 3040 may be connectedto the positive terminal of battery pack 12. Considering FIG. 48B(below), SC1 may be coupled to BP11 and BP12 via terminals 3038 and3040. Ground fault detection unit 3032 measures the voltage at themiddle of the battery string using a resistor 3034 and provides groundfault detection. Fuse 3036 provides overcurrent protection.

FIGS. 31A-31B are diagrams illustrating an example string controller3100. As shown in FIG. 31A, string controller 3100 includes batteryvoltage and ground fault detection unit 3110, power supply 3120, stringcontrol board 3130, positive fuse 3140, and positive contactor 3150.FIG. 31B illustrates another angle of string controller 3100 and depictsnegative fuse 3160, negative contactor 3170, and current sensor 3180.These components are described in more detail with respect to FIG. 30.

Example Battery Pack Balancing Algorithm

FIG. 32 is a flow diagram illustrating an example method 3200 forbalancing a battery pack, such as battery pack 2600 of FIGS. 26A-26Dthat includes a plurality of battery modules, a balancing charger, abattery pack controller, and a network of isolated, distributed,daisy-chained battery module controllers. The method 3200 may beimplemented as software or firmware that is executable by a processor.That is, each stage of the method 3200 may be implemented as one or morecomputer-readable instructions stored on a non-transientcomputer-readable storage device, which when executed by a processorcauses the processor to perform one or more operations. For example, themethod 3200 may be implemented as one or more computer-readableinstructions that are stored in and executed by a battery packcontroller (e.g., battery pack controller 2634 of FIG. 26C) in a batterypack (e.g., battery pack 2600 of FIGS. 26A-26D).

As the description of FIG. 32 refers to components of a battery pack,for the sake of clarity, the components enumerated in an exampleembodiment of battery pack 2600 of FIGS. 26A-26D are used to refer tospecific components when describing different stages of the method 3200of FIG. 32. However, battery pack 2600 of FIGS. 26A-26D is merely anexample, and the method 3200 may be implemented using embodiments of abattery pack other than the exemplary embodiment depicted in FIGS.26A-26D.

Upon starting, the method 3200 proceeds to stage 3210 where a targetvoltage value is received by a battery pack controller, such as batterypack controller 2634. The target value may be used to balance thevoltage and/or state of charge of each battery module (e.g., batterymodule 2636) in the battery pack and may be received from an externalcontroller, such as a string controller described with respect to FIG.48A or FIG. 30 or FIGS. 31A-31B. In stage 3215, the battery modules arepolled for voltage measurements. For example, battery pack controller2634 may request a voltage measurement from each of the battery modulescontrollers (e.g., battery module controller 2638) that are mounted onthe battery modules. Again, one battery module controller may be mountedon each of the battery modules. Each battery module controller maymeasure the voltage of the battery module that it is mounted on, andcommunicate the measured voltage to the battery pack controller 2634.And as discussed with respect to FIG. 27A, a battery pack controller anda plurality of isolated, distributed, daisy-chained battery modulecontrollers may be coupled together to form a communication network.Polling may be performed sequentially (e.g., poll BMC 2720, followed byBMC 2730, followed by BMC 2740, and so on). In an embodiment, a targetstate of charge value may be received at stage 3210 instead of a targetvoltage value.

In stage 3220, a determination is made as to whether each polled batterymodule voltage is in an acceptable range. This acceptable range may bedetermined by one or more threshold voltage values above and/or belowthe received target voltage. For example, battery pack controller 2634may use a start discharge value, a stop discharge value, a start chargevalue, and a stop charge value that are used to determine whetherbalancing of battery modules should be performed. In an embodiment, thestart discharge value may be greater than the stop discharge value (bothof which may be greater than the target value), and the start chargevalue may be less than the stop charge value (both of which may be lessthan the target value). These threshold values may be derived by addingstored offset values to the received target voltage value. In anembodiment, the acceptable range may lie between the start dischargevalue and the start charge value, indicating a range in which nobalancing may be necessary. If all battery module voltages are withinthe acceptable range, method 3200 proceeds to stage 3225. In stage 3225,a balancing charger (e.g., balancing charger 2632) is turned off (if on)and shunt resistors of each battery module controller 2638 that havebeen applied, such as shunt resistors 2935 of FIG. 29, are opened tostop removing energy from the battery module. For example, battery packcontroller 2634 may instruct balancing charger 2632 to stop providingenergy to the battery modules of battery pack 2600. Battery packcontroller 2634 may also instruct each battery module controller that isapplying a shunt resistor to the battery module it is mounted on to stopapplying the shunt resistor, and thus stop removing energy from thebattery module. Method 3200 then returns to step 3215 where the batterymodules of the battery pack are again polled for voltage values.

Returning to stage 3220, if all battery module voltages are not withinthe acceptable range, the method proceeds to stage 3230. In stage 3230,for each battery module, it is determined whether the battery modulevoltage is above the start discharge value. If the voltage is above thestart discharge value, method 3200 proceeds to stage 3235 where shuntresistors of the battery module controller (e.g., battery modulecontroller 2638) coupled to the battery module are applied in order toremove (discharge) energy from the battery module. The method thencontinues to stage 3240.

In stage 3240, for each battery module, it is determined whether thebattery module voltage is below the stop discharge value. If the voltageis below the stop discharge value, method 3200 proceeds to stage 3245where shunt resistors of the battery module controller (e.g., batterymodule controller 2638) coupled to the battery module are opened inorder to stop discharging energy from the battery module. That is, thebattery module controller stops applying the shunt resistor(s) acrossthe terminals of the battery module it is mounted on. This prevents thebattery module controller from removing energy from the battery module.The method then continues to stage 3250.

In stage 3250, it is determined whether at least one battery modulevoltage is below the start charge value. If any voltage is below thestart charge value, method 3200 proceeds to stage 3255 where a balancingcharger is turned on to provide energy to all of the battery modules.For example, battery pack controller 2634 may instruct balancing charger2632 to turn on, providing energy to each of the battery modules in thebattery pack 2600. Method 3200 then continues to stage 3260.

In stage 3260, it is determined whether all battery module voltages areabove the stop charge value. If all voltages are above the stop chargevalue, method 3200 proceeds to stage 3265 where a balancing charger isturned off (if previously on) to stop charging the battery modules ofthe battery pack. For example, battery pack controller 2634 may instructbalancing charger 2632 to stop providing energy to the battery modulesof battery pack 2600. Method 3200 then returns to stage 3215 where thebattery modules are again polled for voltage measurements. Thus, aspreviously described, stages 3215 to 3260 of method 3200 may be used tocontinuously balance the energy of the battery modules within a batterypack, such as battery pack 2600.

While the above balancing example only discusses balancing four batterypacks, the balancing procedure can be applied to balance any number ofbattery packs. Also, since the procedure can be applied to both SOCvalues as well as voltage values, the procedure can be implemented atanything in a electrical energy storage unit according to thedisclosure, and it is not limited to periods of time when the battery ofthe electrical energy storage unit is being charged or discharged.

Example Warranty Tracker for a Battery Pack

In an embodiment, a warranty based on battery usage for a battery pack,such as battery pack 2600 of FIGS. 26A-26D, may take into accountvarious data associated with the battery pack, such as but not limitedto, charge and discharge rates, battery temperature, and batteryvoltage. As should be apparent to a person of skill in the art, thewarranty tracker disclosed below may be implemented and used in thesystems and methods described above. A warranty tracker embedded in thebattery pack may use this data to compute a warranty value representingbattery usage for a period of time. Calculated warranty values may beaggregated over the life of the battery, and the cumulative value may beused to determine warranty coverage. With this approach, the warrantymay not only factor in the total discharge of the battery pack, but alsothe manner in which the battery pack has been used. Various data used tocalculate warranty values, according to an embodiment, are discussedfurther with respect to FIGS. 33-36.

Charge and discharge rates of a battery pack are related to and can beapproximated or determined based on the amount of electric currentflowing into and out of the battery pack, which can be measured. Ingeneral, higher charge and discharge rates may produce more heat (thanlower rates), which may cause stress on the battery pack, shorten thelife of the battery pack, and/or lead to unexpected failures or otherissues. FIG. 33 is a diagram illustrating an example correlation betweenan electric current measurement and a current factor used in thecalculation of a warranty value according to an embodiment. Electriccurrent may be directly measured for a battery pack, such as batterypack 2600 of FIGS. 26A-26D, and may provide charge and/or dischargerates of the battery pack.

Normal charge and discharge rates for batteries of different capacitiesmay vary. For this reason, in an embodiment, electric currentmeasurements may be normalized in order to apply a standard fordetermining normal charge and discharge rates for different batterypacks. One of skill in the art will recognize that the measured electriccurrent may be normalized based on the capacity of the battery pack,producing a C-rate. As an example, a normalized rate of discharge of 1 Cwould deliver the battery pack's rated capacity in one hour, e.g., a1,000 mAh battery would provide a discharge current of 1,000 mA for onehour. The C-rate may allow the same standard to be applied fordetermining normal charge and discharge, whether the battery pack israted at 1,000 mAh or 100 Ah or any other rating known to one ofordinary skill in the art.

Still considering FIG. 33, example plot 3302 illustrates current factor3306 as a function of a normalized C-rate 3304, according to anembodiment. Electric current measurements may be used to calculatewarranty values by converting the measured electric current to acorresponding current factor. In an embodiment, the measured electriccurrent is first normalized to produce a C-rate. The C-rate indicatesthe charge or discharge rate of the battery pack and allows forconsistent warranty calculations regardless of the capacity of thebattery pack. The C-rate may then be mapped to current factors for usein warranty calculations. For example, a normalized C-rate of 1 C may bemapped to a current factor of 2, whereas a C-rate of 3 C may be mappedto a current factor of 10, indicating a higher rate of charge ordischarge. In an embodiment, separate sets of mappings may be maintainedfor charge and discharge rates. In an embodiment, these mappings may bestored in a lookup table residing in a computer-readable storage devicewithin the battery pack. In another embodiment, mappings and currentfactors may be stored in a computer-readable storage device that isexternal to the battery pack. Alternatively, in an embodiment, apredefined mathematical function may be applied to C-rates or electriccurrent measurements to produce a corresponding current factor, ratherthan explicitly storing mappings and current factors.

In an embodiment, calculated C-rates above a maximum C-rate warrantythreshold 3308 may immediately void the warranty of the battery pack.This threshold may be predefined or set dynamically by the warrantytracker. In a non-limiting example, maximum warranty threshold 3308 maybe set to a C-rate of 2 C. Calculated C-rates above maximum warrantythreshold 3308 may indicate improper usage of the battery pack, andhence the warranty may not cover subsequent issues that arise. In anembodiment, maximum warranty thresholds may be defined for both the rateof charge and discharge of the battery pack, rather than maintaining asingle threshold for both charge and discharge.

Temperature is another factor that may affect battery performance. Ingeneral, higher temperatures may cause the battery pack to age at afaster rate by generating higher internal temperatures, which causesincreased stress on the battery pack. This may shorten the life of abattery pack. On the other hand, lower temperatures may, for example,cause damage when the battery pack is charged.

FIG. 34 is a diagram illustrating an example correlation between atemperature measurement and a temperature factor used in the calculationof a warranty value according to an embodiment. A battery pack, such asbattery pack 2600 of FIGS. 26A-26D, may include one or more batterytemperature measurement circuits that measure the temperature of theindividual battery cells or the individual battery modules within thebattery pack. Example plot 3402 illustrates temperature factor 3406 as afunction of measured temperature 3404, according to an embodiment.Temperature measurements may be used to calculate warranty values byconverting the measured temperature to a corresponding temperaturefactor. In an embodiment, temperature measurements may be mapped totemperature factors for use in warranty calculations. For example, anormal operating temperature of 20° C. may be mapped to a temperaturefactor of 1, whereas a higher temperature of 40° C. would be mapped to ahigher temperature factor. A higher temperature factor may indicate thatbattery wear is occurring at a faster rate. In an embodiment, thesemappings may be stored in a lookup table residing in a computer-readablememory device within the battery pack. In another embodiment, mappingsand temperature factors may be stored in a computer-readable memorydevice that is external to the battery pack. Alternatively, in anembodiment, a predefined mathematical function may be applied totemperature measurements to produce a corresponding temperature factor,rather than explicitly storing mappings and temperature factors.

Warranty thresholds may also be a function of battery temperature suchas, for example, charging the battery pack when the temperature is belowa predefined value. In an embodiment, operating temperatures below aminimum temperature warranty threshold 3408 or above a maximumtemperature warranty threshold 3410 may immediately void the warranty ofthe battery pack. These thresholds may be predefined or set dynamicallyby the warranty tracker. Operating temperatures below minimum warrantythreshold 3408 or above maximum warranty threshold 3410 may indicateimproper usage of the battery pack, and hence the warranty may not coversubsequent operating issues or defects that arise. In an embodiment,minimum and maximum warranty thresholds may be defined for both chargingand discharging the battery pack rather than maintaining the samethresholds for both charging and discharging.

Voltage and/or state-of-charge are additional factors that may affectbattery performance. The voltage of a battery pack, which may bemeasured, may be used to calculate or otherwise determine thestate-of-charge of the battery pack. In general, very high or very lowstates of charge or voltages cause increased stress on the battery pack.This, again, may shorten the life of the battery pack.

FIG. 35 is a diagram illustrating an example correlation between avoltage measurement and a voltage factor used in the calculation of awarranty value according to an embodiment. A battery pack, such asbattery pack 2600 of FIGS. 26A-26D, may include a battery voltagemeasurement circuit that measures the voltage of individual batterycells or the voltage of battery modules within the battery pack. Thesevoltage measurements may be aggregated or averaged for use incalculating warranty values for the battery pack. In an embodiment, thestate-of-charge of the battery pack may be calculated and used in thecalculation of a warranty value; however, this calculation is not alwaysaccurate and so care must be taken in determining a warranty calculationfactor. In an embodiment, the measured voltage of the battery pack maybe the average measured voltage of each battery cell or each batterymodule contained within the battery pack.

In FIG. 35, example plot 3502 illustrates voltage factor 3506 as afunction of measured voltage 3504, according to an embodiment. Voltagemeasurements may be used to calculate warranty values by converting themeasured voltage to a corresponding voltage factor. In an embodiment,voltage measurements may be mapped to voltage factors for use inwarranty calculations. These mappings may be specific to the type ofbattery cells contained in the battery pack. For example, a battery packincluding one or more lithium-ion battery cells may have an average cellvoltage measurement of 3.2V, which may be mapped to a voltage factorof 1. In contrast, a voltage measurement of 3.6V or 2.8V may be mappedto a higher voltage factor. In an embodiment, these mappings may bestored in a lookup table residing in a computer-readable memory devicewithin the battery pack. In another embodiment, mappings and voltagefactors may be stored in a computer-readable memory device external tothe battery pack. Alternatively, in an embodiment, a predefinedmathematical function may be applied to voltage measurements to producea corresponding voltage factor, rather than explicitly storing mappingsand voltage factors.

In an embodiment, measured voltages below a minimum voltage warrantythreshold 3508 or above a maximum voltage warranty threshold 3510 mayimmediately void the warranty of the battery pack. These thresholds maybe predefined or set dynamically by the warranty tracker. In anon-limiting example, minimum and maximum warranty thresholds 3508 and3510 may be set to voltages indicating the over-discharging andover-charging of the battery cells, respectively. Measured voltagesbelow minimum warranty threshold 3508 or above maximum warrantythreshold 3510 may indicate improper usage of the battery pack, andhence the warranty may not cover subsequent issues that arise.

FIG. 36A is diagram illustrating how to determine a battery lifetimevalue 3650, according to an embodiment. This value may also be used as awarranty value to determine when a battery warranty has expired. Asshown in FIG. 36A, battery lifetime value 3650 at time (T+1) is equal tothe sum of the battery lifetime value at time (T) and the product of thecurrent factor at time (T) (CF_((T))), the voltage factor at time (T)(VF_((T))), and the temperature factor at time (T) (TF_((T))). In anembodiment, battery lifetime value 3650 is produced by battery lifetimemonitor 162 of battery pack operating system 150.

FIG. 36B is a diagram illustrating example warranty thresholds used forvoiding a warranty for a battery pack according to an embodiment. Aspreviously described, improper usage of a battery pack may cause awarranty to be automatically voided. For example, extreme operatingtemperatures, voltages, or charge/discharge rates may immediately void awarranty.

In various embodiments, a battery pack may store the minimum recordedvoltage 3601, maximum recorded voltage 3602, minimum recordedtemperature 3603, maximum recorded temperature 3604, maximum recordedcharging electric current 3605, and maximum recorded dischargingelectric current 3606 for the life of the battery pack. These values maybe recorded by any device or combination of devices capable of measuringor calculating the aforementioned data, such as (but not limited to) oneor more battery voltage measurement circuit(s), battery temperaturemeasurement circuit(s), and electric current measurement circuit(s),respectively, which are further described with respect to FIGS. 35-36.In an alternate embodiment, the battery pack may store in acomputer-readable memory device a maximum recorded electric current,rather than both a maximum charging and discharging electric current. Inan embodiment, data measurements may be recorded in a computer-readablememory device periodically during the life of the battery. For minimumvalues 3601 and 3603, if a newly recorded value is less than the storedminimum value, the previously stored minimum value is overwritten withthe newly recorded value. For maximum values 3602, 3604, 3605, and 3606,if a newly recorded value is greater than the stored maximum value, thepreviously stored maximum value is overwritten with the newly recordedvalue.

In an embodiment, each battery pack may maintain a list of warrantythreshold values, for example warranty threshold values 3611-3616, in acomputer-readable storage device. In another embodiment, the list ofwarranty threshold values may be maintained in a computer-readablestorage device that is external to the battery pack. Warranty thresholdvalues may indicate minimum and maximum limits used to determine uses ofthe battery pack that are outside the warranty coverage. The warrantytracker may periodically compare the stored minimum and maximum values3601-3606 to warranty threshold values 3611-3616 to determine whether awarranty for the battery pack should be voided.

In an embodiment, the battery pack may store a warranty status in acomputer-readable storage device. The warranty status may be any type ofdata capable of representing a status. For example, the warranty statusmay be a binary flag that indicates whether the warranty has beenvoided. The warranty status may also be, for example, an enumerated typehaving a set of possible values, such as but not limited to, active,expired, and void.

As illustrated in FIG. 36B, the warranty status is set based on acomparison of the recorded maximum and minimum values 3601-3606 topredefined warranty thresholds 3611-3616. For example, minimum recordedvoltage 3601 is 1.6 V and minimum voltage threshold 3611 is 2.0 V. Inthis example, minimum recorded voltage 3601 is less than minimum voltagethreshold 3611, and therefore the warranty is voided, as indicated atbox 3621. This will be reflected in the warranty status and stored. Invarious embodiments, when the warranty is voided, an electroniccommunication may be generated and sent by the battery pack and/orsystem in which the battery pack is used to notify selected individualsthat the warranty has been voided. The electronic communication may alsoinclude details regarding the conditions or use that caused the warrantyto be voided.

FIG. 37 is a diagram illustrating example usage of a battery packaccording to an embodiment. In addition to minimum and maximum datavalues being recorded, as described with respect to FIG. 36B, usagefrequency statistics may also be collected. For example, usagestatistics may be recorded based on battery voltage measurements,battery temperature measurements, charge/discharge current measurements,and power calculations (e.g., voltage measurements multiplied by currentmeasurements).

In an embodiment, one or more ranges of values may be defined for eachtype of recorded data. In the example illustrated in FIG. 37, definedranges for measured voltage are 2.0 V-2.2 V, 2.2 V-2.4 V, 2.4 V-2.6 V,2.6 V-2.8 V, 2.8 V-3.0 V, 3.0 V-3.2 V, 3.2 V-3.3 V, 3.3 V-3.4 V, 3.4V-3.5 V, 3.5 V to 3.6 V, and 3.6 V-3.7 V. These ranges may be common forlithium-ion batteries, for example, in order to capture typical voltagesassociated with such batteries. Each defined range may be associatedwith a counter. In an embodiment, each counter is stored in acomputer-readable storage device within a battery pack. In otherembodiments, counters may be stored external to a battery pack, forexample in a string controller, an array controller, or a systemcontroller (e.g., see FIG. 48A below). This may allow for furtheraggregation of usage statistics across multiple battery packs.

In an embodiment, voltage measurements may be taken periodically. When ameasured value falls within a defined range, the associated counter maybe incremented. The value of each counter then represents the frequencyof measurements falling within the associated range of values. Frequencystatistics may then be used to create a histogram displaying thedistribution of usage measurements for the life of a battery pack, orduring a period of time. Likewise, frequency statistics may be recordedfor other measured or calculated data, such as but not limited to,battery temperature measurements and charge/discharge currentmeasurements.

For example, battery usage 3702 represents the distribution of voltagemeasurements taken during the life of a battery pack. Battery usage 3702may indicate ordinary or proper usage of a battery pack, having thehighest frequency of measurements between 3.0 V and 3.2 V. In contrast,battery usage 3704 may indicate more unfavorable usage.

Histograms, such as those displayed in FIG. 37, may be useful to amanufacturer or seller in determining the extent of improper oruncovered usage of a battery pack. In an embodiment, the distributiondata may also be used for analysis and diagnosis of battery pack defectsand warranty claims.

FIG. 38 is a diagram illustrating an example warranty tracker accordingto an embodiment. Warranty tracker 3810 includes a processor 3812, amemory 3814, a battery voltage measurement circuit 3816, and a batterytemperature measurement circuit 3818. The battery voltage measurementcircuit 3816 and the battery temperature measurement circuit 3818 may beimplemented as a single circuit or as separate circuits disposed on aprinted circuit board. In some embodiments, such as those detailedabove, each battery module disposed in a battery pack may be coupled toa battery module controller that includes a battery voltage measurementcircuitry as well as battery temperature measurement circuitry. In theseembodiments, the processor 3812 and memory 3814 of example warrantytracker 3810 may part of or implemented within a battery packcontroller, such as battery pack controller 2800 of FIG. 28. Forexample, warranty tracker may be implemented as executable code storedin memory 2814, which is executed by MCU 2812 of battery pack controller2800 to perform the warranty tracker's functions.

In various embodiments, voltage may be measured as an aggregate voltageor average voltage of the battery cells or battery modules containedwithin the battery pack. Battery temperature measurement circuit 3818may include one or more temperature sensors to periodically measurebattery cell temperatures or battery module temperatures within thebattery pack and send an aggregate or average temperature measurement toprocessor 3812.

In an embodiment, processor 3812 also receives periodic electric currentmeasurements from battery current measurement circuit 3822. Batterycurrent measurement circuit 3822 may be external to warranty tracker3810. For example, battery current measurement circuit 3822 may residewithin string controller 3820 (e.g., string controller 3000 of FIG. 30).In another embodiment, battery current measurement circuit 3822 may bepart of warranty tracker 3810.

Processor 3812 may compute warranty values based on received voltage,temperature, and electric current measurements. In an embodiment, eachwarranty value represents battery usage at the time the receivedmeasurements were recorded. Once received, measurements may be convertedto associated factors for use in calculating a warranty value. Forexample, a voltage measurement received from battery voltage measurementcircuit 3816 may be converted to a corresponding voltage factor asdescribed with respect to FIG. 35. Similarly, received temperaturemeasurements and electric current measurements may be converted tocorresponding temperature and current factors as described with respectto FIGS. 33 and 34.

In an embodiment, processor 3812 may calculate a warranty value bymultiplying the voltage factor, temperature factor, and current factortogether. For example, the current factor may be 0 when a battery packis neither charging nor discharging. The calculated warranty value willtherefore also be 0, indicating that no usage is occurring. In anotherexample, when battery temperature and voltage are at optimal levels, thecorresponding temperature and voltage factors may be 1. The calculatedwarranty value will then be equal to the current factor corresponding tothe measured electric current. When all factors are greater than zero,the warranty value indicates battery usage based on each of the voltage,temperature, and electric current measurements.

As described previously, additional measured or calculated data may alsobe used in the calculation of a warranty value. A warranty value mayalso be calculated based on any combination voltage, temperature, andcurrent factors, according to an embodiment.

While a warranty value represents battery usage at a point in time, awarranty for a battery pack is based on battery usage for the life ofthe battery pack (which may be defined by the manufacturer of thebattery pack). In an embodiment, memory 3814 stores a cumulativewarranty value that represents battery usage over the life of thebattery pack. Each time a warranty value is calculated, processor 3812may add the warranty value to the cumulative warranty value stored inmemory 3814. The cumulative warranty value may then be used to determinewhether the battery pack warranty is active or expired.

FIG. 39 is an example method for calculating and storing a cumulativewarranty value according to an embodiment. Each stage of the examplemethod may represent a computer-readable instruction stored on acomputer-readable storage device, which when executed by a processorcauses the processor to perform one or more operations.

Method 3900 begins at stage 3904 by measuring battery cell voltageswithin a battery pack. In an embodiment, battery cell voltagemeasurements for different battery cells or battery modules may beaggregated or averaged across a battery pack. At stage 3906, batterycell temperatures may be measured. In an embodiment, battery celltemperature measurements for different battery cells or battery modulesmay be aggregated or averaged across a battery pack. At stage 3908, anelectric charge/discharge current measurement may be received. Stages3904, 3906, and 3908 may be performed concurrently or in any order.

At stage 3910, a warranty value is calculated using the measured batteryvoltage, measured battery temperature, and received electric currentmeasurement. In an embodiment, each warranty value represents batteryusage at the time the measurements were recorded. Once received,measurements may be converted to associated factors for use incalculating a warranty value. For example, a voltage measurement may beconverted to a corresponding voltage factor as described with respect toFIG. 35. Similarly, temperature measurements and received electriccurrent measurements may be converted to corresponding temperature andcurrent factors as described with respect to FIGS. 33 and 34.

In an embodiment, a warranty value may be calculated by multiplying thevoltage factor, temperature factor, and current factor together. Forexample, the current factor may be 0 when a battery pack is neithercharging nor discharging. The calculated warranty value will thereforealso be 0, indicating that no usage is occurring. In another example,when battery temperature and voltage are at optimal levels, thecorresponding temperature and voltage factors may be 1. The calculatedwarranty value will then be equal to the current factor corresponding tothe measured electric current. When all factors are greater than zero,the warranty value indicates battery usage based on each of the voltage,temperature, and electric current measurements.

As described previously, additional measured or calculated data may alsobe used in the calculation of a warranty value. A warranty value mayalso be calculated based on any combination voltage, temperature, andcurrent factors, according to an embodiment.

At stage 3912, the calculated warranty value is added to a storedcumulative warranty value. In an embodiment the cumulative warrantyvalue may be stored within the battery pack. In other embodiments, thecumulative warranty value may be stored external to the battery pack.The cumulative warranty value may then be used to determine whether thebattery pack warranty is active or expired, as will be discussed furtherwith respect to FIGS. 40 and 41.

FIG. 40 is an example method for using a warranty tracker according toan embodiment. FIG. 40 may be performed by a computer or a humanoperator at an energy management system, such as an energy managementsystem. FIG. 40 begins at stage 4002 when a warning or alert is receivedindicating that a battery pack has an operating issue or is otherwisedefective. In an embodiment, the alert may be issued as an email orother electronic communication to an operator responsible for monitoringthe battery pack. In other embodiments, warnings or alerts may be audialor visual alerts, for example, a flashing red light on the defectivebattery pack, such as the warnings described above with respect tostatus button 2608 of FIGS. 26A and 26B.

At stage 4004, the cumulative warranty value stored in the defectivebattery pack is compared to a predefined threshold value. This thresholdvalue may be set to provide a certain warranty period based on normalusage of the battery pack. For example, the threshold may be set suchthat a battery pack may be covered under warranty for 10 years based onnormal usage. In this manner, aggressive usage of the battery pack mayreduce the active warranty period for the battery pack.

At stage 4006, it is determined whether the stored cumulative warrantyvalue exceeds the predefined threshold value. If the stored cumulativevalue exceeds the predefined threshold value, method 4000 proceeds tostage 4008. At stage 4008, the warranty for the battery pack isdetermined to be expired. If the stored cumulative value does not exceedthe threshold value, the method ends, indicating that the battery packwarranty has not expired.

FIG. 41 is a diagram illustrating an example battery pack and associatedwarranty information according to an embodiment. When a battery pack isreported to be defective, analysis of warranty information may beconducted. As illustrated in FIG. 41, battery pack 4104 resides in anelectrical storage unit 4102, similar to that of electrical storage unit4802 of FIGS. 48A and 48B. In response to an alert that battery pack4104 has an operating issue, battery pack 4104 may be removed fromelectrical storage unit 4102 for analysis.

In an embodiment, battery pack 4104 may be connected to a computingdevice with display 4106. In this manner, the battery pack operator,seller, or manufacturer may be able to view various warranty informationand status in order to determine which party is financially responsiblefor repairing battery pack 4104. In the example illustrated in FIG. 41,a warranty threshold value may be set to 500,000,000, and the cumulativewarranty value of the battery pack is 500,000,049. Because thecumulative warranty value exceeds the warranty threshold, the batterypack warranty is determined to be expired, and the battery pack operatoror owner should be financially responsible for repairs.

In an embodiment, warranty information for battery pack 4104 may beviewed without physically removing battery pack 4104 from electricalstorage unit 4102. For example, stored warranty information may be sentvia accessible networks to a device external to battery pack 4104 foranalysis.

Example Detection of a Battery Pack Having an Operating Issue or Defect

FIG. 42 is a diagram illustrating example distributions of battery packsbased, for example, on self-discharge rates and charge times, accordingto an embodiment. Plot 4202 shows an example distribution of batterypacks based on the self-discharge rate 4206 of each battery pack over aperiod of time. Axis 4204 indicates the number of battery packs having aparticular self-discharge rate. Plot 4202 indicates a normaldistribution, with some battery packs having higher or lowerself-discharge.

Plot 4208 shows an analogous distribution of battery packs based on thecharge time 4210 of each battery pack. In an embodiment, a timer maytrack the operating time of a balancing charger, such as balancingcharger 2632 of FIG. 26C, to determine the charge time of a battery packduring a period of time. Axis 4212 indicates the number of battery packshaving similar charge times during a period of time.

As illustrated in FIG. 42, the self-discharge rate and charge time of abattery pack are expected to be similar. In an embodiment, data may begathered for a plurality of battery packs during a period of time inorder to determine battery distributions 4202 and 4208. The mean chargetime of the plurality of battery packs may provide a reliable indicationof the expected charge time for a healthy battery pack, e.g., a batterypack that is operating within accepted tolerances. From thesedistributions, a maximum expected variance 4214 above the mean chargetime may be chosen. For example, maximum variance 4214 may be set to twostandard deviations from the mean charge time of the plurality ofbattery packs. In an embodiment, a charge time that exceeds maximumvariance 4214 may indicate a battery pack having an operating issue ordefect. One of skill in the art will recognize that maximum variance4214 may be any value above the expected charge time of a battery packand may be static or updated dynamically as additional data is gathered.

FIG. 43 is a diagram illustrating correlation between temperature andcharge time of a battery pack (such as battery pack 2600 of FIGS.26A-26D), according to an embodiment. Plot 4302 shows an exampledistribution of battery packs based on the charge time 4306 of eachbattery pack. Axis 4304 indicates the number of battery packs havingsimilar charge times during a period of time. As illustrated in FIG. 43,plot 4302 represents the battery distribution based on a consistentbattery temperature of 20° C. for each of the battery packs. In anembodiment, the battery temperature may be, for example, an averagetemperature of each battery cell or each battery module contained withina battery pack.

Temperature has a significant effect on the performance of a batterypack. For example, higher temperatures may increase the rate ofself-discharge of a battery. In a non-limiting example, a battery packmay self-discharge 2% per month at a constant 20° C. and increase to 10%per month at a constant 30° C. Plot 4310 shows the distribution ofbattery packs based on charge time 4306 with each battery pack having atemperature of 30° C. At 30° C., the charge times of each battery packmaintain a normal distribution, but the mean and expected charge time isshifted.

Because of distribution shifts at different temperatures, maximumvariance 4308 may be updated to compensate for temperature fluctuations.In an embodiment, one or more temperature sensors may monitor theaverage battery cell or battery module temperature of a battery pack.The temperature sensors may be internal or external to the battery pack.Maximum variance 4308 may then be adjusted dynamically in response totemperature changes. For example, if the average battery moduletemperature of a battery pack is determined to be 30° C., the maximumexpected variance may be adjusted to maximum variance 4312. This mayprevent replacement of healthy battery packs, for example, when chargetime of a battery pack falls between maximum variance 4308 and maximumvariance 4312 at a temperature of 30° C. In other embodiments,environmental temperature may be monitored instead of or in combinationwith battery module temperatures, and maximum variance 4308 may beadjusted dynamically in response to environmental temperature changes.

FIG. 44 is a diagram illustrating an example system for detecting abattery pack having an operating issue or defect, according to anembodiment. In an embodiment, system 4400 includes a battery pack 4402and an analyzer 4408. As should be apparent to a person of skill in theart, the detection techniques disclosed below may be implemented andused in the systems and methods described above. Battery pack 4402 mayinclude a balancing charger 4404, such as balancing charger 2632 of FIG.26C, and a timer 4406. Battery pack 4402 may be coupled to an electricalpower grid 4410. This enables balancing charger 4404 to be turned on andoff when appropriate to charge the cells of battery pack 4402.

In an embodiment, timer 4406 records the amount of time that balancingcharger 4404 is operating. Timer 4406 may be embedded in the batterypack as part of a battery pack controller, such as battery packcontroller 2800 of FIG. 28. Alternatively, timer 4406 may be separatefrom the battery pack controller. In an embodiment, timer 4406 may bereset after a certain period of time or at particular intervals of time.For example, timer 4406 may be reset on the first of each month in orderto record the amount of time balancing charger 4404 operates during themonth. Alternatively, timer 4406 may maintain a cumulative operatingtime or the time the charger operated during a specified period of time,for example, the last 30 days.

In an embodiment, timer 4406 may periodically send recorded operatingtimes to analyzer 4408. In an embodiment, analyzer 4408 may be a part ofbattery pack 4402. For example, analyzer 4408 may be integrated into abattery pack controller of battery pack 4402, such as battery packcontroller 2800 of FIG. 28. In other embodiments, analyzer 4408 may beexternal to battery pack 4402 and may be implemented on any computingsystem. In an embodiment where battery pack 4402 is part of BESS, suchas BESS 4802 of FIGS. 48A and 48B (below), analyzer 4408 may be part ofa string controller, array controller, or system controller as describedwith respect to FIG. 48A.

In an embodiment, analyzer 4408 may select a time period and comparerecorded operating times for the selected time period to a thresholdtime. The threshold time may indicate a maximum determined variance fromthe expected operating time of balancing charger 4406. The expectedoperating time may represent the expected charge time of the batterypack for the selected time period, taking into account factors such as,but not limited to, battery usage and self-discharge rate. Analyzer 4408may set expected operating times and threshold times based onstatistical analysis of data collected from a plurality of battery packsand may be adjusted as additional data is collected. If battery pack4402 is part of an array of battery packs, expected and thresholdoperating times may be determined based on analysis of all or a subsetof battery packs in the array. Additionally, in an embodiment, thethreshold time may be dynamically adjusted based on the average batterycell or battery module temperature of the battery back or theenvironmental temperature surrounding the battery pack, as describedwith respect to FIG. 43. In an embodiment, one or more temperaturesensors may monitor the battery pack temperature or environmentaltemperature and provide measurements to analyzer 4408. Analyzer 4408 maythen use the received temperature measurements to adjust the thresholdtime.

In an embodiment, if the recorded operating time exceeds the thresholdtime, analyzer 4408 may determine that the battery pack has an operatingissue or defect and may require maintenance and/or replacement. In thiscase, analyzer 4408 may issue an alert to an appropriate party, such asan operator responsible for monitoring the battery pack. In anembodiment, the alert may be issued as an email or other electroniccommunication. In other embodiments, the issued alert may be audial orvisual, for example a flashing red light on the battery pack, such asthe warnings described above with respect to status button 2608 of FIGS.26A and 26B.

In an embodiment, analyzer 4408 may also halt operation of the batterypack in response to determining that the battery pack has an operatingissue or defect. This may act as a mechanism to preclude any adverseeffects that may occur from operating a battery pack having an operatingissue or defect.

FIG. 45 is a diagram illustrating aggregation of data for analysis froman array of battery packs, according to an embodiment. As explained, anenergy system, such as electrical storage unit 4802 of FIG. 48A (below),comprises a plurality of battery packs 4502. Each battery pack 4502 mayinclude a timer to record the amount of time that the battery pack ischarging. The recorded times may be stored in each battery pack, asshown at 4504. In an embodiment, each timer may be integrated into abattery pack controller of each battery pack, such as battery packcontroller 2800 of FIG. 28, comprising a processor and a memory to storethe recorded time.

In an embodiment, recorded times for each battery pack may be aggregatedby one or more string controllers (such as string controller 4804 ofFIG. 48A below), as indicated at 4506, and/or by an array controller(such as array controller 4808 of FIG. 48A below) and/or by a systemcontroller (such as system controller 4812 of FIG. 48A below) asindicated at 4508. As illustrated in FIG. 45, each string controller maymanage a subset of the plurality of battery packs.

In an embodiment, the aggregated recorded times may be sent by the oneor more string controllers or the array or system controller to one ormore analyzers 4510, such as analyzer 4408 of FIG. 44. Analyzer 4510 maycollect various data about the plurality of battery packs in an effortto detect and identify battery packs having an operating issue ordefect, as described with respect to FIG. 44. In an embodiment, ananalyzer 4510 may be part of each string controller and/or the array orsystem controller. In this manner, analysis may be localized based ongroupings of battery packs, or conducted for an entire system. In anembodiment, analyzer 4510 may be external to the plurality of batterypacks, string controllers, array controller, and system controller.

FIG. 46 is a flowchart illustrating an example method for detecting abattery pack having an operating issue or defect according to anembodiment. Each stage of the example method may represent acomputer-readable instruction stored on a computer-readable storagedevice, which when executed by a processor causes the processor toperform one or more operations.

Method 4600 begins at stage 4602 by recording the amount of time that abalancing charger is operating. The balancing charger may be part of thebattery pack, such as balancing charger 2632 of FIG. 26C, and configuredto charge the cells of the battery pack.

At stage 4604, the recorded operating time for a particular time periodis compared to a threshold time. The threshold time may indicate amaximum determined variance from the expected operating time of thebalancing charger. The expected operating time may represent theexpected charge time of the battery pack for the time period, takinginto account factors such as, but not limited to, battery usage andself-discharge rate.

At stage 4606, it is determined whether the recorded operating timeexceeds the threshold time. This may indicate that the battery pack ischarging longer than expected and may require maintenance and/orreplacement. At stage 4608, if the recorded operating time exceeds thethreshold time, an alert may be provided to an appropriate party, suchas a computer or a human operator responsible for monitoring the batterypack (e.g., at an energy management system). In an embodiment, the alertmay be issued as an email or other electronic communication. In otherembodiments, the issued alert may be audial or visual, for example a redlight on the battery pack. Returning to stage 4606, if the recordedoperating time does not exceed the threshold time, the method ends.

FIG. 47 illustrates an example battery energy storage system (“BESS”)4700. Specifically, FIG. 47 illustrates a cross-sectional view of BESS4700. BESS 4700 can be operated as a stand-alone system (e.g.,commercial embodiment 4720) or it can be combined together with otherBESS units to form a part of a larger system (e.g., utility embodiment4730). In the embodiment illustrated in FIG. 47, BESS 4700 is housed ina container (similar to a shipping container) and is movable (e.g.,transported by a truck). Other housings known to those skilled in theart are within the scope of this disclosure.

As shown in FIG. 47, BESS 4700 includes a plurality of battery packs,such as battery pack 4710. As shown, the battery packs can be stacked onracks in BESS 4700. This arrangement allows an operator easy access toeach of the battery packs for replacement, maintenance, testing, etc. Aplurality of battery packs may be connected in series, which may bereferred to as a string of battery packs or a battery pack string.

In an embodiment (described in more detail below), each battery packincludes battery cells (which may be arranged into battery modules), abattery pack controller that monitors the battery cells, a balancingcharger (e.g., DC power supply) that adds energy to each of the batterycells, and a distributed, daisy-chained network of battery modulecontrollers that may take certain measurements of and remove energy fromthe battery cells. The battery pack controller may control the networkof battery module controllers and the balancing charger to control thestate-of-charge or voltage of a battery pack. In this embodiment, thebattery packs that are included in BESS 4700 are considered “smart”battery packs that are able to receive a target voltage orstate-of-charge value and self-balance to the target level.

FIG. 47 illustrates that BESS 4700 is highly scalable, ranging from asmall kilowatt-hour size system to a multi-megawatt-hour size system.For example, the commercial embodiment 4720 of FIG. 47 includes a singleBESS unit, which may be capable of providing 400 kWh of energy (but isnot limited thereto). The commercial embodiment 4720 includes powercontrol system (PCS) 4725 that is mounted on the housing at the back ofthe BESS unit. PCS 4725 may be connected to the power grid. PCS 4725includes one or more bi-directional power converters that are capable ofboth charging and discharging the plurality of battery packs usingcommands issued, for example, via a computer over a network (e.g. theInternet, an Ethernet, etc.), such as by an operator at an energymonitoring station. PCS 4725 can control both the real power and thereactive power of the bi-directional power converters. Also, in someembodiments, PCS 4725 can be operated as a backup power source when gridpower is not available and/or BESS 4720 is disconnected from the powergrid.

On the other hand, the utility embodiment 4730 of FIG. 47 includes sixBESS units (labeled 4731-4736), each of which may be capable ofproviding 400 kWh of energy (but are not limited thereto). Thus, utilityembodiment 4730 may collectively provide 2.4 MWh of energy. In theutility embodiment, each of the BESS units is electrically connected toa central PCS 4737, which includes one or more bi-directional powerconverters that are capable of both charging and discharging theplurality of battery packs using commands issued, for example, via acomputer over a network (e.g. the Internet, an Ethernet, etc.), such asby an operator at energy monitoring station. PCS 4737 can control boththe real power and the reactive power of the bi-directional powerconverters. PCS 4737 may be coupled to the power grid. Also, in someembodiments, PCS 4737 can be operated as a backup power source when gridpower is not available and/or BESS is disconnected from the power grid.

FIG. 48A is a block diagram illustrating an example BESS 4802 accordingto an embodiment. BESS 4802 may be coupled to energy management system(EMS) 4826 via communication network 4822. Communication network 4822may be any type communication network, including (but not limited to)the Internet, a cellular telephone network, etc. Other devices coupledto communication network 4822, such as computers 4828, may alsocommunicate with BESS 4802. For example, computers 4828 may be disposedat the manufacturer of BESS 4802 to maintain (monitor, run diagnostictests, etc.) BESS 4802. In other embodiments, computers 4828 mayrepresent mobile devices of field technicians that perform maintenanceon BESS 4802. As shown in FIG. 48A, communications to and from BESS 4802may be encrypted to enhance security.

Field monitoring device 4824 may also be coupled to EMS 4826 viacommunication network 4822. Field monitoring device 4824 may be coupledto an alternative energy source (e.g., a solar plant, a wind plant,etc.) to measure the energy generated by the alternative energy source.Likewise, monitoring device 4818 may be coupled to BESS 4802 and measurethe energy generated by BESS 4802. While two monitoring devices areillustrated in FIG. 48A, a person of skill in the art would recognizethat additional monitoring devices that measure the energy generated byenergy sources (conventional and/or alternative energy sources) may beconnected to communication network 4822 in a similar manner. An humanoperator and/or a computerized system at EMS 4826 can analyze andmonitor the output of the monitoring devices connected to communicationnetwork 4822, and remotely control the operation of BESS 4802. Forexample, EMS 4826 may instruct BESS 4802 to charge (draw energy frompower grid via PCS 4820) or discharge (provide energy to power grid viaPCS 4820) as needed (e.g., to meet demand, stabilize line frequency,etc.).

BESS 4802 includes a hierarchy of control levels for controlling BESS4802. The control levels of BESS 4802, starting with the top level aresystem controller, array controller, string controller, battery packcontroller, and battery module controller. For example, systemcontroller 4812 may be coupled to one or more array controllers (e.g.,array controller 4808), each of which may be coupled to one or morestring controllers (e.g., string controller 4804), each of which may becoupled to one or more battery pack controllers, each of which may becoupled to one or more battery module controllers. Battery packcontrollers and battery modules controllers are disposed with batterypacks 4806(a)-4806(n), as was discussed in detail with respect to FIGS.26-29 above.

As shown in FIG. 48A, system controller 4812 is coupled to monitoringdevice 4818 via communication link 4816(a), to communication network4822 via communication link 4816(b), and to PCS 4820 via communicationlink 4816(c). In FIG. 48A, communication links 4816(a)-(c) are MODbusses, but any wired and wireless communication link may be used. In anembodiment, system controller 4812 is also connected to communicationnetwork 4822 by TCP/IP connection 4817.

System controller 4812 can monitor and report the operation of BESS 4802to EMS 4826 or any other device connected to communication network 4822and configured to communicate with BESS 4802. System controller 4812 canalso receive and process instructions from EMS 4826, and relayinstructions to an appropriate array controller (e.g., array controller4806) for execution. System controller 4812 may also communicate withPCS 4820, which may be coupled to the power grid, to control thecharging and discharging of BESS 4802.

Although system controller 4812 is shown disposed within BESS 4802 inFIG. 48A, system controller 4812 may be disposed outside of andcommunicatively coupled to BESS 4802 in other embodiments. ConsideringFIG. 47 again, commercial embodiment 4720 may be a standalone unit usedby a business, apartment, hotel, etc. A system controller may bedisposed within the BESS of commercial embodiment 4720 to, e.g.,communicate with an EMS or a computer at the business, apartment, hotel,etc. via a communication network.

In other embodiments, such as utility embodiment 4730, only one of BESSunits 4731-4736 may include a system controller. For example, in FIG.47, BESS unit 4731 may include a system controller and BESS units4732-4736 may not. In this scenario, BESS 4731 is considered the masterunit and is used to control BESS units 4732-4736, which are consideredslave units. Also, in this scenario, the highest level of controlincluded within each of BESS units 4732-4736 is an array controller,which is coupled to and communicates with the system controller withinBESS unit 4731.

Considering FIG. 48A again, system controller 4812 is coupled to arraycontroller 4808 via communication link 4814. Array controller 4808 iscoupled to one or more string controllers, such as string controller4804 via communication link 4810. While FIG. 48A depicts three stringcontrollers (SC(1)-(3)) more or less string controllers may be coupledto array controller 4808. In FIG. 48A, communication link 4810 is CANbus and communication link 4814 is a TCP/IP link, but other wired orwireless communication links may be used.

Each string controller in BESS 4802 is coupled to one or more batterypacks. For example, string controller 4804 is coupled to battery packs4806(a)-(n), which are connected in series to form a battery packstring. Any number of battery packs may be connected together to form abattery pack string. Strings of battery packs can be connected inparallel in BESS 4802. Two or more battery pack strings connected inparallel may be referred to as an array of battery packs or a batterypack array. In one embodiment, BESS 4802 includes an array of batterypacks having six battery pack strings connected in parallel, where eachof the battery pack strings has 22 battery packs connected in series.

As its name suggests, a string controller may monitor and control thebattery packs in the battery pack string. The functions performed by astring controller may include, but are not limited to, the following:issuing battery string contactor control commands, measuring batterystring voltage; measuring battery string current; calculating batterystring Amp-hour count; relaying queries between a system controller(e.g., at charging station) and battery pack controllers; processingquery response messages; aggregating battery string data; performingsoftware device ID assignment to the battery packs; detecting groundfault current in the battery string; and detect alarm and warningconditions and taking appropriate corrective actions. Exampleembodiments of a string controller are described below with respect toFIGS. 30, 31A, and 31B.

Likewise, an array controller may monitor and control a battery packarray. The functions performed by an array controller may include, butare not limited to, the following: sending status queries to batterypack strings, receiving and processing query responses from battery packstrings, performing battery pack string contactor control, broadcastingbattery pack array data to the system controller, processing alarmmessages to determine necessary actions, responding to manual commandsor queries from a command line interface (e.g., at an EMS), allowing atechnician to set or change the configuration settings using the commandline interface, running test scripts composed of the same commands andqueries understood by the command line interpreter, and broadcastingdata generated by test scripts to a data server for collection.

FIG. 48B illustrates a cross-sectional view of an example BESS. FIG. 48Billustrates three battery pack strings (“String 1,” “String 2,” and“String 3”), each of which includes a string controller (“SC1,” “SC2,”and “SC3,” respectively) and 22 battery packs connected in series.Strings 1-3 may be connected in parallel and controlled by arraycontroller 4808.

In String 1, each of the 22 battery packs is labeled (“BP1” through“BP22”), illustrating the order in which the battery packs are connectedin series. That is, BP1 is connected to the positive terminal of astring controller (SC1) and to BP2, BP2 is connected to BP1 and BP3, BP3is connected to BP2 and BP4, and so on. As shown, BP22 is connected tothe negative terminal of SC1. In the illustrated arrangement, SC1 mayaccess the middle of string 1 (i.e., BP11 and BP12). In an embodiment,this middle point is grounded and includes a ground fault detectiondevice.

BESS 4802 includes one or more lighting units 4830 and one or more fans4832, which may be disposed at regular intervals in ceiling panels ofBESS 4802. Lighting units 4830 can provide illumination to the interiorof BESS 4802. Fans 4832 are oriented so that they blow down from theceiling panels toward the floor of BESS 4802 (i.e., they blow into theinterior of BESS 4802). BESS 4802 also includes a split A/C unitincluding air handler 4834 housed within the housing of BESS 4802 andcondenser 4836 housed outside the housing of BESS 4802. The A/C unit andfans 4832 may be controlled (e.g., by array controller 4808) to createan air flow system and regulate the temperature of the battery packshoused within BESS 4802.

Example BESS Housing

FIGS. 49A, 49B, and 49C are diagrams illustrating the housing (e.g., acustomized shipping container) of an example BESS 4900. In FIGS.49A-49C, the back and front of the housing of BESS 4900 are labeled. Asshown, one or more PCSs 4910 may be mounted on the back of BESS 4900,which couple BESS 4900 to the power grid. The front of BESS 4900 mayinclude one or more doors (not shown) that provide access to the insideof the housing. An operator may enter BESS 4900 through the doors andaccess the internal components of BESS 4900 (e.g., battery packs,computers, etc.). FIG. 49A depicts BESS 4900 with the top of its housingin place.

FIG. 49B depicts BESS 4900 with the top of its housing removed. As seen,BESS 4900 includes one or more ceiling panels 4920, one or more lightingunits 4930, and one or more fans 4940. Lighting units 4930 and fans 4940may be disposed at regular intervals in ceiling panels 4920. Lightingunits 4930 can provide illumination to the interior of BESS 4900. Fans4940 are oriented so that they blow down from ceiling panels 4920 towardthe floor of BESS 4900 (i.e., they blow into the interior of BESS 4900).Openings 4950, which are above the racks of battery packs housed in BESS4900, allow warm air to flow up to the space between the top of thehousing and ceiling panels 4920, creating a hot air region above ceilingpanels 4920. FIG. 49C depicts BESS 4900 with ceiling panels 4920removed. As can be seen, openings 4950 are disposed above racks ofbattery packs that are housed in BESS 4900.

FIGS. 50A, 50B, and 50C are diagrams illustrating an example BESS 5000without its housing (i.e., the internal structures of BESS 5000). FIGS.50A and 50B show racks of battery packs housed within BESS 5000 fromdifferent angles. FIG. 50C illustrates a front view of BESS 5000. Thisis the view that may be seen by an operator that opens the doors at thefront of BESS 5000 and enters BESS 5000 to perform maintenance ortesting. FIG. 50C illustrates split A/C unit 5010 at the back of BESS5000. A/C unit 5010 is controlled (e.g., by an array controller) toregulate the temperature of BESS 5000. A/C unit 5010 provides cool airto the interior of BESS 5000 and creates a cool air region in the aisleof BESS 5000.

FIG. 51 illustrates another front view of an example BESS 5100 anddepicts air flow in BESS 5100. As explained with respect to FIGS.49A-49C and 50A-50C, fans in the ceiling panels of BESS 5100 blow hotair from hot air region 5110 above the ceiling toward the floor of BESS5100. An A/C unit at the back of BESS 5100 draws the hot air out of BESS5100 and provides cool air to the interior of BESS 5100, creating coolair region 5120. The cool air regulates the temperature of the batterypacks housed in BESS 5100, and raises to hot air region 5110 as it coolsthe battery packs.

FIGS. 52A and 52B are diagrams illustrating an example BESS 5200 coupledto a bi-directional power converter 5202. In an embodiment, BESS 5200includes two external HVAC units 5204 a and 5204 b. In an embodiment,bi-directional power converter 5202 may be capable of both charging anddischarging the plurality of battery packs residing in BESS 5200 usingcommands issued, for example, via a computer over a network (e.g. theInternet, an Ethernet, etc.), such as by an operator at an energymonitoring station.

FIG. 52B is a more detailed view of BESS 5200. As shown in FIG. 52B, inan embodiment, BESS 5200 may have several doors 5206 that may be openedto gain access to battery stacks 5208. Battery stacks 5208 may beinstalled inside BESS 5200 and removed from BESS 5200 using a forkliftvehicle (not shown). This enables each battery stack 5208 to beassembled external to BESS 5200 and transported and installed as asingle unit.

FIGS. 53A and 53B are diagrams further illustrating BESS 5200 accordingto an embodiment. FIG. 53A illustrates a rear view of BESS 5200 withdoors 5206 closed, and FIG. 53B illustrates a rear view of BESS 5200with doors 5206 open.

FIGS. 54A, 54B, and 54C are diagrams illustrating another view of BESS5200 with its roof removed and doors 5206 open. BESS 5200 is shown withseveral battery stacks 5208 installed. In an embodiment, BESS 5200 alsoincludes switchgear 5210, which is located at one end of BESS 5200.

FIG. 54B illustrates a more detailed view of switchgear 5210, accordingto an embodiment. FIG. 54C illustrates another view of BESS 5200including switchgear 5210 located at one end of BESS 5200, according toan embodiment.

FIGS. 55A, 55B, 55C, and 55D are diagrams illustrating various examplemodular, stackable BESS systems according to embodiments. FIG. 55Aillustrates a BESS 5500 having fifteen battery stacks 5208, an ACswitchgear unit 5502, and a DC switchgear unit 5504. In an embodiment,each battery stack 5208 may be assembled externally and installed as asingle unit into BESS 5500.

FIG. 55B illustrates a BESS 5510 having nine battery stacks 5208, an ACswitchgear unit 5502, and a DC switchgear unit 5504. FIG. 55Cillustrates a BESS 5520 having five battery stacks 5208, an ACswitchgear unit 5502, and a DC switchgear unit 5504. FIG. 55Dillustrates a BESS 5530 having seven battery stacks 5208, an ACswitchgear unit 5502, and a DC switchgear unit 5504.

FIGS. 56A, 56B, 56C, 56D, and 56E are diagrams illustrating a modular,stackable battery stack 5208, according to embodiments. Battery stack5208 has a battery stack controller 5602 (also referred to herein as abattery string controller) and seventeen battery packs 5604. Plexiglassshields 5606 protect the faces of battery stack controller 5602 and thebattery packs 5604. Battery stack 5208 has a base 5608 that enablesbattery stack 5208 to be lifted and moved using a forklift vehicle (notshown) or similar equipment. FIG. 56B illustrates another view of abattery stack 5208 with plexiglass shields 5606 removed, according to anembodiment.

FIG. 56C is an exploded view of a battery stack 5620, according to anembodiment. As shown in FIG. 56C, battery stack 5620 may have a batterystack controller 5602, nine battery packs 5604, and a battery stack base5608. FIG. 56D is another exploded view of battery stack 5620 thatfurther illustrates battery stack base 5608, according to an embodiment.FIG. 56E is a view of battery stack 5208 that further illustratesbattery stack base 5608, according to an embodiment.

FIGS. 57A, 57B, 57C, 57D, 57E, and 57F are diagrams illustrating amodular, stackable battery pack 5604 (also referred to herein as abattery unit), according to embodiments. Battery pack 5604 may functionsimilarly to and include similar structure as battery pack 104 of FIG.1B and battery pack 2600 of FIGS. 26A-26D, as discussed in detail above.

FIG. 57A shows battery pack 5604 with the plexiglass shield 5606installed. FIG. 57B shows battery pack 5604 with the plexiglass shield5606 removed. As can be seen in FIG. 57B, battery pack 5604 has abattery pack control unit 5702. The functions and structure of a batterypack control unit 5702 or battery pack controller are described above.

FIG. 57C illustrates another view of battery pack 5604 with the topremoved. FIG. 57D illustrates a view of battery pack 5604 with thehousing removed in order to better see the battery cells 5704 used inbattery pack 5604. FIG. 57E illustrates a view of battery pack 5604 withbattery pack control unit 5702 removed. As shown in FIG. 57E, batterypack 5604 includes two battery assemblies 5710 a and 5710 b. Finally,FIG. 57F illustrates another view of a battery assembly 5710.

FIGS. 58A, 58B, and 58C are diagrams further illustrating modular,stackable battery pack 5604, according to embodiments. FIG. 58A showsbattery pack 5604 with plexiglass shield 5606 installed.

FIG. 58B is an exploded view of battery pack 5604 showing plexiglassshield 5606, battery pack control unit 5702, and battery assemblies 5710a and 5710 b. These components of battery pack 5604 may be housed in abattery pack housing 5802. FIG. 58C is another exploded view of batterypack 5604 showing plexiglass shield 5606, battery pack control unit5702, and battery assemblies 5710 a and 5710 b.

FIGS. 59A, 59B, and 59C are diagrams further illustrating a batteryassembly 5710 for a modular, stackable battery pack 5604, according toembodiments. As shown in FIG. 59A, battery assembly 5710 includesbattery cells 5704, battery module control units 5902, and bus bars5904. Each battery module control unit 5902 may monitor and control twogroups of battery cells, wherein each group of battery cells comprisesone or more battery cells 5704 connected in parallel. The functions andstructure of a battery module control unit 5902 (also referred to as abattery module controller) are described above.

FIG. 59B is an exploded view of a battery assembly 5710. In anembodiment, each battery assembly 5710 has four battery module controlunits 5902. FIG. 59C is a more detailed view of a battery module controlunit 5902. Battery module control unit 5902 may function similarly toand include similar structure as battery module controller 2638described above with respect to FIG. 26C, or may function similarly toand include similar structure as battery module controller 2900described above with respect to FIG. 29.

FIGS. 60A and 60B are diagrams illustrating an example battery stackcontroller 5602, according to embodiments. In FIG. 60A, battery stackcontroller 5602 is shown with plexiglass shield 5606 installed. FIG. 60Bis an exploded view of battery stack controller 5602. The functions andstructure of a battery stack controller 5602 are described above, forexample with respect to string controller 3000 of FIG. 30.

FIGS. 61A, 61B, 61C, and 61D are diagrams illustrating an examplebattery pack controller 5702. FIG. 61A shows a first view of batterypack controller 5702. FIG. 61B shows a second view of battery packcontroller 5702. FIG. 61C shows a third view of battery pack controller5702 with the rear cover detached. FIG. 61D shows a fourth view ofbattery pack controller 5702 with the rear cover detached. The functionsand structure of a battery pack controller 5702 are described above, forexample with respect to battery pack controller 414 of FIGS. 4 and 5 orbattery pack controller 2710 of FIG. 27A or battery pack controller 2800of FIG. 28.

As will be understood by persons skilled in the relevant art(s) giventhe description herein, various features of the disclosure can beimplemented using processing hardware, firmware, software and/orcombinations thereof such as, for example, application specificintegrated circuits (ASICs). Implementation of these features usinghardware, firmware and/or software will be apparent to a person skilledin the relevant art. Furthermore, while various embodiments of thedisclosure have been described above, it should be understood that theyhave been presented by way of example, and not limitation. It will beapparent to persons skilled in the relevant art(s) that various changescan be made therein without departing from the scope of the disclosure.

It is to be appreciated that the Detailed Description section, and notthe Summary and Abstract sections, is intended to be used to interpretthe claims. The Summary and Abstract sections may set forth one or morebut not all exemplary embodiments of the present disclosure ascontemplated by the inventor(s), and thus, are not intended to limit thepresent disclosure and the appended claims in any way.

Embodiments of the present disclosure have been described above with theaid of functional building blocks illustrating the implementation ofspecified functions and relationships thereof. The boundaries of thesefunctional building blocks have been arbitrarily defined herein for theconvenience of the description. Alternate boundaries can be defined solong as the specified functions and relationships thereof areappropriately performed. Also, Identifiers, such as “(a),” “(b),” “(i),”“(ii),” etc., are sometimes used for different elements or steps. Theseidentifiers are used for clarity and do not necessarily designate anorder for the elements or steps.

The foregoing description of specific embodiments will so fully revealthe general nature of the embodiments that others can, by applyingknowledge within the skill of the art, readily modify and/or adapt forvarious applications such specific embodiments, without undueexperimentation, without departing from the general concept of thepresent disclosure. Therefore, such adaptations and modifications areintended to be within the meaning and range of equivalents of thedisclosed embodiments, based on the teaching and guidance presentedherein. It is to be understood that the phraseology or terminologyherein is for the purpose of description and not of limitation, suchthat the terminology or phraseology of the present specification is tobe interpreted by the skilled artisan in light of the teachings andguidance.

The breadth and scope of the present disclosure should not be limited byany of the above-described embodiments, but should be defined only inaccordance with the following claims and their equivalents.

What is claimed is:
 1. A battery system, comprising: a battery stackbase; a plurality of stackable battery packs stacked on top of thebattery stack base; a battery stack controller stacked on top of one ofthe plurality of stackable battery packs and electrically coupled to theplurality of stackable battery packs, the battery stack controllerconfigured to communicate with the plurality of stackable battery packs;and a battery system controller configured to transmit charging anddischarging instructions including instructions to charge only selectedstackable battery packs of the plurality of stackable battery packs,wherein each stackable battery pack of the plurality of stackablebattery packs includes: a plurality of battery cells; a battery packcontroller configured to monitor the plurality of battery cells and toadjust energy stored in the plurality of battery cells according toinformation received from the battery stack controller; a plurality ofbattery pack dischargers, coupled to the battery pack controller,configured to individually discharge energy from each battery cell ofthe plurality of battery cells; and a battery pack charger, coupled tothe battery pack controller, configured to charge the plurality ofbattery cells of each stackable battery pack of the plurality ofstackable battery packs.
 2. The battery system of claim 1, wherein thebattery pack controller of each stackable battery pack of the pluralityof stackable battery packs is further configured to calibrate said eachstackable battery pack using the plurality of battery pack dischargersand the battery pack charger of said each stackable battery pack.
 3. Thebattery system of claim 2, wherein to calibrate said each stackablebattery pack, the battery pack controller is further configured to:instruct the battery pack charger to charge the plurality of batterycells of said each stackable battery pack until a voltage of one batterycell of the plurality of battery cells exceeds a first voltagethreshold; and instruct the plurality of battery pack dischargers todischarge the plurality of battery cells until a voltage of each batterycell of the plurality of battery cells falls below a second voltagethreshold.
 4. The battery system of claim 2, wherein to calibrate saideach stackable battery pack, the battery pack controller is furtherconfigured to: instruct the battery pack charger to charge the pluralityof battery cells of said each stackable battery pack to raise an averagecell voltage of said each stackable battery pack.
 5. The battery systemof claim 2, wherein the calibration of said each stackable battery packis initiated based on a battery recalibration flag, and wherein thebattery recalibration flag is set based on a recalibration trigger. 6.The battery system of claim 5, wherein the battery recalibration triggeroccurs when a state of charge of at least two battery cells of theplurality of battery cells differs by more than a predefined calibrationthreshold.
 7. The battery system of claim 1, wherein the charging anddischarging instructions are active when the battery system is in anidle state.
 8. The battery system of claim 1, wherein the charging anddischarging instructions include at least one of a charge start time, acharge stop time, a charge duration time, a discharge start time, adischarge stop time, and a discharge duration time.
 9. An electricalenergy storage system, comprising: a battery stack base; a plurality ofstackable battery packs stacked on top of the battery stack base; abattery stack controller stacked on top of one of the plurality ofstackable battery packs and electrically coupled to the plurality ofstackable battery packs, the battery stack controller configured tocommunicate with the plurality of stackable battery packs; and a batterysystem controller configured to communicate with the battery stackcontroller, wherein the battery system controller is further configuredto transmit charging and discharging instructions including instructionsto charge only selected stackable battery packs of the plurality ofstackable battery packs, and wherein each stackable battery pack of theplurality of stackable battery packs includes: a plurality of batterycells; a battery pack controller configured to monitor the plurality ofbattery cells and to adjust energy stored in the plurality of batterycells according to information received from the battery stackcontroller; a plurality of battery pack dischargers, coupled to thebattery pack controller, configured to individually discharge energyfrom each battery cell of the plurality of battery cells; and a batterypack charger, coupled to the battery pack controller, configured tocharge the plurality of battery cells of each stackable battery pack ofthe plurality of stackable battery packs.
 10. The electrical energystorage system of claim 9, wherein the battery system controller isfurther configured to instruct the battery pack controller of eachstackable battery pack of the plurality of stackable battery packs tocalibrate said each stackable battery pack using the plurality ofbattery pack dischargers and the battery pack charger of said eachstackable battery pack.
 11. The electrical energy storage system ofclaim 10, wherein to calibrate said each stackable battery pack, thebattery pack controller is further configured to: instruct the batterypack charger to charge the plurality of battery cells of said eachstackable battery pack until a voltage of one battery cell of theplurality of battery cells exceeds a first voltage threshold; andinstruct the plurality of battery pack dischargers to discharge theplurality of battery cells until a voltage of each battery cell of theplurality of battery cells below a second voltage threshold.
 12. Theelectrical energy storage system of claim 10, wherein to calibrate saideach stackable battery pack, the battery pack controller is furtherconfigured to: instruct the battery pack charger to charge the pluralityof battery cells of said each stackable battery pack to raise an averagecell voltage of said each stackable battery pack.
 13. The electricalenergy storage system of claim 10, wherein the calibration of said eachstackable battery pack is initiated based on a battery recalibrationflag, and wherein the battery recalibration flag is set based on arecalibration trigger.
 14. The electrical energy storage system of claim13, wherein the battery recalibration trigger occurs when a state ofcharge of at least two battery cells of the plurality of battery cellsdiffers by more than a predefined calibration threshold.
 15. Theelectrical energy storage system of claim 9, wherein the charging anddischarging instructions are active when the electrical energy storagesystem is in an idle state.
 16. The electrical energy storage system ofclaim 9, wherein the charging and discharging instructions include atleast one of a charge start time, a charge stop time, a charge durationtime, a discharge start time, a discharge stop time, and a dischargeduration time.